多态就是指:相同的行为不同的实现(特指方法)
理解多态: 1.静态多态:(编译期,系统就能决定调用哪个方法);通过重载实现
2.动态多态:(运行期,系统才能确定动态方法所指的对象);使用动态绑定和重写实现
注:多态中大量用到动态多态。
多态的技术基础:1.向上转型技术(子转父);用到动态绑定技术:运行时根据父类引用变量所指向的实际类型执行相应的子类方法。
2.向下转型技术(父转子):
i:子类的引用绝对不能指向父类对象,就算是强转也不行。
II:将父类的引用赋值给子类的引用,如果父类的引用确实指向该之类的对象,强转成功(如果父类的引用指向的是父类的对象或别的子类对象,强转只能是编译成功),运行失败。
只能是父类的引用指向子类的对象,或本类的引用指向本类的对象。
对于引用类型之间的转换:没有继承关系的不能比较大小,转换只能发生在有继承关系的类型上。
关键字: instanceof(逻辑运算服)
作用:使用instanceof关键字判断被转型对象是否是真的相应类的实例。
异构集合:
就是一个用于装对象的数组,例如:声明一个Gril类,用Gril[]存储Gril的子类;或者用Object[]存放Gril.
抽象:(有抽象方法的类一定是抽象类;而抽象类不一定有抽象方法)
i:抽象类:首先它不能产生对象;作用:作为父类;
子类继承了父类,必须重新父类的抽象方法除非子类也为抽象类;防止:子类重新父类方法时,方法名写错。
ii: 抽象方法:只有方法声明没有实现;用途:让子类重新它,实现各自的行为。