java中的上轉型物件
阿新 • • 發佈:2019-02-05
一、定義:
類B是類A的子類
A a;
a=new B();
或者
A a;
B b=new B();
a=b;
二、性質:
1、物件的上轉型物件的實質是子類負責建立的,但上轉型物件會失去原物件的一些屬性和功能。
2、上轉型物件不能操作子類宣告定義的成員變數,也不能使用子類宣告定義的方法。
3上轉型物件可以操作子類繼承的成員變數和隱藏的成員變數,也可以使用子類繼承的或重寫的方法。
4、上轉型物件不能操作子類新增的方法和成員變數。
5、將物件的上轉型物件再強制轉換到一個子類物件,這時,該子類物件又具備了子類的所有屬性和功能。
三、例子:
Welcome message addedinterface ISwim{ void swim(); } class Fish implements ISwim{ public void swim(){ System.out.println("Fish重寫的方法"); } } public class A{ public static void main(String a[]){ Fish fish1=new Fish(); fish1.swim(); ISwim fish2=new Fish(); //fish2.swim(); //出錯,上轉型物件不能操作子類宣告定義的變數跟方法 ((Fish)fish2).swim();//將物件的上轉型物件再強制轉換到一個子類物件。 } }