lesson 4:多态

题目:课后作业题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类




猜你喜欢

转载自blog.csdn.net/wfcy023315/article/details/78317404