多態的弊端、向上轉型和向下轉型

package 多態;

/*
 * 			多態的弊端:
 * 					不能使用子類的功能
 * 			使用子類的功能:
 * 					1.直接創建子類的對象,然後調用方法(可行,但是這不是多態)
 * 					2.把父類對象的引用強制轉換成子類對象的引用(向上轉型/向下轉型)
 * 						向下轉型可以使用子類和父類的方法
 * 			對象轉型的格式:
 * 					向上轉型:
 * 							Fu f=new Zi();
 * 					向下轉型:
 * 							Zi zi=(Zi)f;//先創建父類對象,在進行向下轉型;
 */
class Laozi{
	int age=30;
	public void show() {
		System.out.println("勞資");
	}
}

class Zi1 extends Laozi{
	int  age=10;
	public void method() {
		System.out.println("我是子方法");
	}
	public void function() {
		System.out.println("我是子功能");
	}
}

public class Practice01 {
	public static void main(String[] args) {
		Laozi lao=new Zi1();//向下轉型
		System.out.println(lao.age);
		lao.show();
//		lao.function();//弊端:不能使用子類的方法
		Zi1 zi=(Zi1)lao;//向下轉型(強轉)
		zi.method();
		zi.function();
		zi.show();
		
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章