抽象类名作为形参和返回值
package com.daxing_02;
public abstract class Animal {
public abstract void eat();
}
package com.daxing_02;
public class Operator {
public void uesAnimal(Animal a) {
a.eat();
}
public Animal getAnimal() {
Animal a = new Cat();
return a;
}
}
package com.daxing_02;
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼🐟");
}
}
package com.daxing_02;
public class Demo {
public static void main(String[] args) {
Operator ao = new Operator();
Animal a = new Cat();
ao.uesAnimal(a);
Animal a2 = ao.getAnimal();
a2.eat();
}
}
运行结果:
猫吃鱼🐟
猫吃鱼🐟
Process finished with exit code 0
浙公网安备 33010602011771号