1.多态体现为父类引用变量可以指向子类对象。
多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。
在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。
2.多态必须运行在:普通类继承之间,抽象类继承之间,接口类实现之间。
3.多态格式
父类类型 变量名 = new 子类类型();
变量名.方法名();
Fu f=new Zi();
f.abc();
4.多态成员变量和成员方法
1.编译运行都看左边,即父类
2.编译时如果父类有该成员变量才能编译成功,父类没有会编译失败
3.运行时结果为父类成员变量的值
4.运行方法时结果为子类方法重写后的值。
5. instanceof 判断变量的数据类型
5.instanceof 和转型
boolean flag = 对象 instanceof Aaaa
向上转型:
父类类型 变量名 = new 子类类型();
如:Person p = new Student();
向下转型:
子类类型 变量名 = (子类类型) 父类类型的变量;
如:Student stu = (Student) p;
6. this和super
this() super()需要放在方法的第一行