什么叫對象的上轉型對象?
我來提供一個比較靠譜的詳細的解釋,假設,A類是B類的父類,當我們用子類創建一個對象,并把這個對象的引用放到父類的對象中時,比如A a;A=new B();或A a;B b=new B();a=b;稱這個父類對象 a,是子類對象b的上轉型對象。好比說“老虎是哺乳動物”。對象的上轉型對象的實體是子類負責創建的,但上轉型對象會失去原對象的一些屬性和功能。上轉型對象具有如下特點:
1 上轉型對象不能操作子類新增的成員變量(失掉了這部分屬性),不能使用子類新增的方法(失掉了一些功能)。
2 上轉型對象可以操作子類繼承或重寫的成員變量,也可以使用子類繼承的或重寫的方法。
3 如果子類重寫了父類的某個方法后,當對象的上轉型對象調用這個方法時一定是調用了這個重寫的方法。