多态,instanceof和类型转换
1.多态定义:
即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
一个对象的实际类型是确定的,但可以指向对象的引用类型有很多。
2.多态存在的条件
-
继承关系
-
方法重写(1.static方法:属于类,不属于实例。2.final常量。3.private方法:也不能重写)
-
父类的引用指向子类对象!father f1 = new Son();
3.多态注意
-
多态是方法的多态,属性没有多态。
-
父类和子类,有联系,类型转换异常!ClassCastException!
4.instanceof类型转换
x instanceof Y (编译是否通过,是因为是否有父子关系)。
-
父类引用指向子类的对象。
-
把子类转换为父类,向上转型。
-
把父类转换为子类,向下转型,强制转型。
-
方便方法的调用,减少重复代码!
-