多态
1.多态的意义
-
不同类型引用同一对象
Son son = new Son(); Father father = new Son();
-
同一类型引用不同对象
Father father = new Son(); Father father1 = new Father();
2.向上造型
必须是父类的类型
其是实现接口类型
Father father = new Son();//继承关系,子类向上造型为父类对象
FatherInterf fatherInterf = new SonInterf();//接口实现关系,实现类SonInterf向上造型为FatherInterf类型
3.向下造型
必须先造成子类与父类的连接否则无法向下造型
如果没有就会出现转换异常
//前提:父类类型引用子类对象
Father father = new Son();
//将父类类型向下造型为子类类型
Son son = (Son)father;
4.instanceof
判断某个引用指向的对象是否为指定类型
Father father = new Son();
Son son = (Son)father;
System.out.println(father instanceof Son);//true
System.out.println(son instanceof Father);//true