多态
- 即同一方法可以根据发送对象的不同而采用不同的行为方式
- 多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式。
- 一个对象的实际类型是确定的,但可以指向对象的引用类型可以有很多
- 多态存在条件
- 有继承关系
- 子类重写父类的方法
- 父类引用指向子类对象
编译看左边,运行看右边
//父类的引用指向子类
//子类能调用的方法都是自己的或者继承自父类的
Student s1 = new Student();
//父类可以指向子类,但不能调用子类独有的的方法(可以调用子类重写的)
Person s2 = new Student();
Object s3 = new Student();
注意点
- 多态是方法的多态,没有属性的多态
- 父类和子类,有联系 类型转换异常:ClassCastException
- 存在条件:继承关系,方法需要重写,父类引用指向了子类对象
不能被重写的方法:
1.static方法,属于类,而不属于实例。
2.final 常量
3.private 私有方法
标签:重写,多态,面向对象,Student,子类,父类,方法 From: https://www.cnblogs.com/dayu2022/p/16603261.html