2011-04-25 64 views
0

如果我有兩個對象彼此不相關。將在以下情況下會發生什麼: 我們:對象A,對象B有關鑄造的Java編譯問題

A a = new A(); 
B b = new B(); 
  1. A = B; \會編譯?我會得到一個異常嗎?
  2. a =(A)b; \會編譯?事後 - 我會得到一個例外嗎?
+1

你自己編譯一下,看看結果。 – xappymah 2011-04-25 09:02:32

回答

2

雙方將無法編譯,在第二種情況僅當編譯器可以檢查類型,因此,如果您先通過對象你就可以在運行時施放,並得到一個例外

0

如果兩個對象是無關的,你將無法將其中一個投向另一個。 1.不會編譯。 2.將編譯,但會在運行時拋出異常。

如果一個對象是從另一個對象繼承的,那麼你就可以將這個對象轉換爲另一個對象。