引用数据类型:
只有有继承关系的,才有可能做类型转换,其它的没有可能
多态的分类
一、静态多态
指的是编译时,系统就能决定调用哪个方法
二、动态多态
指的是运行中系统才能动态确定方法所指的对象
多态的技术基础:
1.向上转型:一个父类的引用变量可以指向不同的子类对象
2.向下转型:把父类的值赋给子类的变量,有风险,不一定成功
抽象类的特点
1.抽象类不能产生对象
2.抽象类存在的意义就在于产生子类
3.抽象方法里面可以定义属性、方法、构造、初始化块,普通类有的它的有
4.语法上允许一个抽象类里面没有抽象方法,但这样做失去了设计的意义
5.子类继承抽象类,必须实现抽象类中所有的抽象方法,除非这个子类自己也是抽象类
6.abstract只能修饰方法和类
instanceof关键字:用于判断对象的真正类型
动态绑定
1.父类引用指向子类对象的时候,如果我们调用被重写方法,会得到子类重写后的效果,因为这个对象本身就是一个子类对象所以它的实现一定是子类自己的实现
2.异构集合:不同对象的集合,称为异构集合
抽象
1.抽象方法:当一个方法,我们只能确定它的实现,那么该方法就该设计为抽象方法
2.语法:在方法的声明部分加上一个可选修饰符abstract,然后该方法不能有方法的实现部分,连{ }也不能有用;直接结束
3.有抽象方法的类,必须是抽象类
编译成功时的两种情况
1.本类引用指向本类对象
2.父类引用指向子类对象
原文:http://www.cnblogs.com/fanxiumin/p/6011169.html