java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态)
 
1.方法的多态: 
 
重载(overload)
 
重写(覆盖 override)
 
2.对象的多态性:(本人这里要说的)
 
对象的多态性体现在继承的过程中,子类与其父类对象之间的类型转换关系。
 
(1) 向上转型(子类对象-->父类对象):在创建对象时,对象可以作为本身的类型引用,可以作为父类型的引用
(将一个子类对象直接赋值给一个父类的应用变量),java中允许父类的引用变量引用它子类的实例(对象)
 
如:Animal animal=new Cat();         //动物类(Animal)作为父类直接引用子类(猫类(Cat))
这种转换是自动完成的。
 
(2) 向下转型(父类对象-->子类对象):将父类的对象作为其子类的类型引用(需要强制类型转换)
如:Cat cat=(Cat)animal;  //向下转必须要先产生一个向上转型关系
 
如果是这样:Cat cat=(Cat) new Animal(); //编译也许不会错,但运行时回报java.lang.ClassCastException(转换异常)
 

最新文章

  1. cocos2dx中常见设计模式
  2. Yii2 中自定义实例名称
  3. ubuntu安装过程中的一些问题
  4. sprint2(第七天)
  5. CF 113C
  6. @property和@synthesize的特性
  7. JSP/ Servlet常见的中文乱码原因
  8. 关于Build Active Architecture Only属性
  9. LNMP安装后MYSQL数据库无法远程访问解决
  10. achartengine之折线图
  11. 第一次:lesson eighty seven。
  12. Python实现Excel转换工具小结
  13. mysql中如何开启binlog?开启二进制日志文件?binary log?
  14. 主流ETL(Extract-Transform-Load)工具选型,Kettle Spoon、Datastage、Powercenter介绍
  15. intelliij jdea灰色文件处理办法
  16. uv计算
  17. C调用栈重温
  18. vs2017安装过程问题及解决方法
  19. bzoj 2142 国家集训队试题 礼物
  20. pig入门教程(2)

热门文章

  1. HDU-2063-过山车(最大匹配)
  2. 1081 Rational Sum(20 分)
  3. 位运算>>和>>>区别
  4. Hive进阶_Hive的客户端操作
  5. Netty(3)Time protocol
  6. PartTime_一些网站
  7. JAVA_HOME not recognized by tomcat7 in Ubuntu
  8. RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例
  9. JS类对象实现继续的几种方式
  10. (转)!注意:PreTranslateMessage弹出框出错