多态

想了两天,终于想清楚了,为什么要设计多态,单纯的看多态是没有多大意义的,开始就看出了有一个向上的隐式转换,声明父类但是实例化的是子类的对象。学习后面的抽象与接口才发现了它的妙用。

public class Animal {
	
	public Animal(){
		
	}
	
	public void move(){
		System.out.println("我可以行走");
	}
}
public class Dog extends Animal{
	public Dog(){
		
	}
	
	public void move(){
		System.out.println("我还会叫 ,汪汪汪");
	}
	
	public void test(){
		System.out.println("测试");
	}
}
public class Main {

	public static void main(String[] args) {
		Dog dog = new Dog();
		
		//隐式转换
		Animal animal = new Dog();
		
		dog.move();
		
		System.out.println("--------------");

		animal.move();

		animal.test(); // => 会提示 error 声明的对象类中无这个方法

	}

}