题目:课后作业题4
代码:
abstract class Animal {
abstract void cry();
abstract void getAnimal();
}
public class Test {
public static void main(String[] args) {
Simulator simulator=new Simulator();
//Animal animal=new Dog();
Animal animal=new Cat();
if(animal instanceof Dog)
{
Dog dog=(Dog) animal;
dog.cry();
dog.getAnimal();
}
else if(animal instanceof Cat)
{
Cat cat= (Cat)animal;
cat.cry();
cat.getAnimal();
}
}
}
class Dog extends Animal {
void cry()
{
System.out.println("汪汪汪");
}
void getAnimal()
{
System.out.println("种类为狗");
}
}
class Cat extends Animal {
void cry()
{
System.out.println("喵喵喵");
}
void getAnimal()
{
System.out.println("种类为猫");
}
}
class Simulator {
void palySound(Animal animal)
{
animal.cry();
animal.getAnimal();
}
}
结果:
总结:多态性就是父类的某个方法被子类重写时,各自产生各自功能的行为。
注意写在同一个类中:
一个文件中有多个类,只有与文件名一致的类名,才能声明为:public
内部类不能声明为:public
一个文件中只能有一个public类