多态
多态
存在条件:
有继承关系
子类重写父类方法
父类引用指向子类对象
//对象能执行哪些方法,主要看对象左边的类型Student,Person,和右边关系不大
Student s1=new Student();
//父类型Person 可以指向子类,不能调用子类的方法
//可以指向的引用类型不确定:父类的引用指向子类
Person s2=new Student();
Object s3=new Student();
s2.run();//子类重写了父类的方法,执行子类的方法
s1.run();
//转换类型:父类转换为子类
//子类转换为父类,可能丢失自己本来的一些方法
Person obj=new Student();
//student将这个对象转换为Student类型,我们就可以使用Student类型的方法了
// Student类中有go方法
((Student) obj).go();
以下方法不可重写:
1.static 方法,属于类,它不属于实例
2.final 常量
3.private 方法
instanceof
System.out.println(x instanceof y);//能不能通过编译看x与y是否存在父子关系

浙公网安备 33010602011771号