我正在用java中的向上轉換和向下轉換的概念,這也被稱爲擴大和縮小。Java中的上傳如何工作?
- UpCasting(加寬)從派生類自動發生到基類。即它是否具有is-a關係。
- 向下播放必須明確進行運行時檢查。
好的,我明白了一切。但是,在這種情況下它是如何工作的?
public class ObjPair {
Object first;
Object second;
public ObjPair(Object first, Object second) {
this.first = first;
this.second = second;
}
public Object getFirst() {
return first;
}
public Object getSecond() {
return second;
}
public static void main(String[] args) {
ObjPair objPair = new ObjPair("A",2.2); // Goes widning conversion
System.out.println(objPair.getFirst());
System.out.println(objPair.getSecond());
}
}
ObjPair objPair =新ObjPair( 「A」,2.2);
- 這個正在經歷上溯造型,字符串反對和雙反對和國家越來越店在objPair。大..!!!
現在,當我做objPair.getFirst()和objPair.getSecond()。它返回我A和2.2。
- 它是如何記住字符串和雙精度的,加寬/ upcast應該記住超類的狀態和方法。
- 它如何訪問子類的類型和值?
那麼,在你的'ObjPair'中,它被存儲爲一個字符串和一個double。 – Nathan
upcast後它被存爲Object,不是嗎?這就是上傳發生的地方。 – Ritesh
此外,Object類還有一個toString()方法,它將使用println()。字符串和雙精度(從雙精度自動裝箱)覆蓋toString()以正確打印它們的值。 –