Java的多态
多态的概念
通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态。 总的来说:同一件事情,发生在不同对象身上,就会产生不同的结果。
多态实现条件
在java
中要实现多态,必须要满足如下几个条件,缺一不可:
- 必须在继承体系下,完成向上转型
- 子类必须要对父类中方法进行重写
- 通过父类的引用调用重写的方法(动态绑定)
多态体现:在代码运行时,当传递不同类对象时,会调用对应类中的方法。(动态绑定)
什么是向上转型呢?
向上转型:实际就是创建一个子类对象,将其当成父类对象来使用。
语法格式:父类类型 对象名 = new 子类类型()
向上转型的优点:让代码实现更简单灵活。
向上转型的缺陷:不能调用到子类特有的方法。
class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println(name + "吃饭");
}
}
class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
public void