文章目录
- 1.多态:
- 1.1.什么是多态:
- 1.2.多态实现条件:
- 1.2.1.重写:
- 1.2.2.向上转型:
1.多态:
1.1.什么是多态:
多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。(可以简述为父类的“单一性”和子类的“多样性”)
1.2.多态实现条件:
在java中要实现多态,必须要满足如下几个条件,缺一不可:
1. 必须在继承体系下(向上转型)
2. 子类必须要对父类中方法进行重写(同名重写/覆盖方法)
3. 通过父类的引用调用重写的方法
4. 完成以上3部分,就会发生动态绑定,动态绑定是多态的基础。
多态体现:在代码运行时,当传递不同类对象时,会调用对应类中的方法。
1.2.1.重写:
重写(override)
:也称为覆盖。重写是子类对父类非静态、非private修饰,非final修饰,非构造方法等的实现过程进行重新编写, 返回值属性和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
1.2.2.向上转型:
向上转型:实际就是创建一个子类对象,将其当成父类对象来使用。
语法格式:父类类型 对象名 = new 子类类型()
Animal animal = new Cat("元宝",2);
animal是父类类型,但可以引用一个子类对象,因为是从小范围向大范围的转换。