有继承、重写发生才有多态
多态:
发生在继承、重写时
父类引用子类对象 父类 引用变量 子类对象
父类名 引用变量=new 子类名();如 Animal a = new Dog();
多态是向父类看齐,a只能调用父类的属性、功能,
当子类重写父类方法时,调用的方法时子类重写后的方法 ;
多态:
发生在继承、重写时
父类引用子类对象 父类 引用变量 子类对象
父类名 引用变量=new 子类名();如 Animal a = new Dog();
多态是向父类看齐,a只能调用父类的属性、功能,
当子类重写父类方法时,调用的方法时子类重写后的方法 ;
/*
* polymorphic 多态的,多态最想体现的是通用性/-统一调用标准
*/
public class Polymorphic {
public static void main(String[] args) {
Animal a=new Dog(); //父类引用指向子类对象
a.eat(); //统一向父类看齐,只能用父类的.但重写了调用的就是子类重写后的
// a.age=18; age是子类的属性不能调用
}
}
//父类--提取子类的共性代码,提高了复用性
class Animal{
public void eat() {
System.out.println("啥都吃");
}
}
//子类--可以使用父类的功能,减少代码
class Dog extends Animal{
int age;
@Override //重写方法的标记--注释
public void eat() {
System.out.println("狗吃肉");
}
}