多型的概述

託帕發表於2018-08-31

1.多型的體現 
父類引用指向子類物件
2.多型的前提 
(1)必須得類與類存在關係,可以是繼承關係,也可以是實現關係(介面)
(2)必須得有重寫
3.多型的好處
大大提高了程式的可擴充套件性
4.多型的弊端
提高的程式的可擴充套件性,但是隻能用父類放入引用,訪問到父類中的成員    

多型成員變數的特點:
1.編譯期間:參閱的是引用型變數是否有所屬此類中是否有呼叫的方法
2.執行期間:參閱物件物件所屬的類中是否有呼叫的方法


public class Test {
	public static void main(String[] args){
		Cat c=new Cat();
		function(c);
		Dog d=new Dog();
		function(d);
	}
	public static void function(Animal c){
		c.sing();
	}
}

class Animal{
	void sing(){
		System.out.println("唱歌");
	}
}
class Dog extends Animal{
	void sing(){
		System.out.print("汪汪的唱歌");
	}
}
class Cat extends Animal{
	void sing(){
		System.out.println("喵喵的唱歌");
	}
	void catchMouse(){
		System.out.print("捕鼠");
	}
}


public class Test {
	public static void main(String[] args){
		Cat c=new Cat();
		function(c);
		//Dog d=new Dog();
		//function(d);
	}
	public static void function(Animal c){
		 Cat c1=(Cat)c;
        c1.catchMouse();
	}
}

class Animal{
	void sing(){
		System.out.println("唱歌");
	}
}
class Dog extends Animal{
	void sing(){
		System.out.print("汪汪的唱歌");
	}
}
class Cat extends Animal{
	void sing(){
		System.out.println("喵喵的唱歌");
	}
	void catchMouse(){
		System.out.print("捕鼠");
	}
}

相關文章