java 多态2

Posted 醉半仙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 多态2相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/wqq0402/p/6180685.html

 

package test05;


public class DuoTai_Test02 {
/**多个对象,一个形态
* Tiger、Lion、Snake → Animal
*、多个对象,一种形态(类型)。
* 不同对象,表现出同一种形态之后。
* 可以实现同样的功能。
*
* 此方式,需要多个子类对应一个父类。
* 往往是采用(多个)子类继承父类来实现。
*
* @param args
*/

public static void main(String[] args) {
Animal animal = new Cat(); //抽象引用指向子类对象
animal.eat();
animal.sheep();
Animal animal2 = new Dog();
animal2.eat();
animal2.sheep();
Animal animal3 = new Snack();
animal3.eat();
animal3.sheep();

DuoTai_Test02 dt = new DuoTai_Test02();
dt.test(new Cat());
dt.test(new Dog());
dt.test(new Snack());
}

public void test(Animal animals){
animals.eat();
animals.sheep();

}
}

abstract class Animal {//抽象类
String name;
int age;
public abstract void eat(); //抽象方法
public abstract void sheep(); //抽象方法

}

class Cat extends Animal {
public void eat() { //方法重写
System.out.println("猫吃");
}
public void sheep(){
System.out.println("猫睡觉");
}
}

class Dog extends Animal {
public void eat(){ //方法重写
System.out.println("狗吃");
}
public void sheep() {
System.out.println("狗睡觉");
}
}

class Snack extends Animal {
public void eat() { //方法重写
System.out.println("蛇吃");
}

public void sheep() { //方法重写
System.out.println("蛇睡觉");
}
}

以上是关于java 多态2的主要内容,如果未能解决你的问题,请参考以下文章

《编程导论(Java)·2.1.2 啊,我看到了多态》-什么是多态(polymorphism)

在JAVA中有两种多态指的是啥

java中的多态

java中多态是啥意思?

Java面向对象:多态特性的学习

JAVA06 封装继承多态 总结(初级)