Java 多态

多态:对象的多种形态

1.引用多态

父类的引用可以指向本类的对象,也可以指向子类的对象

例:

class Animal{

}

class Dog extends Animal{    //继承是多态的实现基础~

}

class Initial{

public static void main(String[] args){

Animal obj1=new Animal();   //父类的引用可以指向本类的对象

Animal obj2=new Dog();    //父类的引用可以指向子类的对象

}

}

2.方法多态

创建本类对象时,调用的方法为本类的方法 


class Animal{

 public void eat(){

System.out.println("动物具有吃的能力");

}

}

class Dog extends Animal{    //继承是多态的实现基础~

 public void eat(){

System.out.println("狗是吃肉的");

}

public void a(){            //不是从父类继承的,Dog子类独有的方法

System.out.println("狗有看门的能力");

}

}

class Cat extends Animal{

}

class Initial{

public static void main(String[] args){

Animal obj1=new Animal();   //父类的引用可以指向本类的对象

Animal obj2=new Dog();    //父类的引用可以指向子类的对象

Animal obj3=new Cat();

obj1.eat();    //调用父类的方法

obj2.eat();    //调用子类的方法

obj3.eat();    //调用的是子类继承父类的方法

obj2.eat();   //这是错的,不能通过父类的引用调用子类独有的方法

}

}

输出:

动物具有吃的能力

狗是吃肉的

动物具有吃的能力

---恢复内容结束---

原文地址:https://www.cnblogs.com/chenyuan7/p/8017394.html