如果我有兩個對象彼此不相關。將在以下情況下會發生什麼: 我們:對象A,對象B有關鑄造的Java編譯問題
A a = new A();
B b = new B();
- A = B; \會編譯?我會得到一個異常嗎?
- a =(A)b; \會編譯?事後 - 我會得到一個例外嗎?
如果我有兩個對象彼此不相關。將在以下情況下會發生什麼: 我們:對象A,對象B有關鑄造的Java編譯問題
A a = new A();
B b = new B();
- A = B; \會編譯?我會得到一個異常嗎?
- a =(A)b; \會編譯?事後 - 我會得到一個例外嗎?
雙方將無法編譯,在第二種情況僅當編譯器可以檢查類型,因此,如果您先通過對象你就可以在運行時施放,並得到一個例外
如果兩個對象是無關的,你將無法將其中一個投向另一個。 1.不會編譯。 2.將編譯,但會在運行時拋出異常。
如果一個對象是從另一個對象繼承的,那麼你就可以將這個對象轉換爲另一個對象。
你自己編譯一下,看看結果。 – xappymah 2011-04-25 09:02:32