(JAVA基础)什么是多态?为什么要使用多态?

多态是为了是程序具有更好的扩展性,并可以对类进行通用的处理!那么这个是怎样体现的呢?

我们先看一段程序:

package stduy;

abstract  class Animal{
	abstract void eat();
}

class Dog extends Animal{
	public void eat() {
		System.out.println("啃骨头!");
	}
	public void LookHome() {
		System.out.println("看家!");
	}
}

class Cat extends Animal{
	public void eat() {
		System.out.println("吃鱼!");
	}
	public void catchMouse() {
		System.out.println("抓老鼠!");
	}
}

public class Main{
	
	public static void main(String[] args) {
			Dog dog = new Dog();
			
			dog.eat();
			dog.LookHome();
			
			Cat cat = new Cat();
			cat.eat();
			cat.catchMouse();
	}
	
}

我们发现在主程序中频繁调用吃这个概念写起来很麻烦,尤其在不同类调用多个同样行为后会出现大量的代码量!

这个时候只需要将main改成

public class Main{
	
	public static void main(String[] args) {
		
			Dog dog = new Dog();		
			Cat cat = new Cat();
			
			method(dog);
			method(cat);
	}
	public static void method(Animal a) {
		a.eat();
	}
}

这样就显得简单多了,尤其在代码量大的时候这种行为更加方便!

你可能感兴趣的:(JAVA)