2014-03-18 22 views

回答

1

對象「是」它的對象,它的所有基類,以及它和它的基類實現的所有接口。

5

變量c1的類型是List<Integer>。這意味着c1的值在任何時候都必須是null,或者是對類型爲List的對象的引用。

但是,對象的類型c1的值在執行時指的是ArrayList。 (它不知道它是構建爲ArrayList<Integer>由於類型擦除。)

三個概念之間的區別是非常重要的:

  • 變量(如c1)。一個變量在編譯時有一個類型。 (如c1的值所指的那個)。一個對象在執行時有一個類型(它在那之前不存在)。

如果你能夠保持這三個直線在你的腦海中,它使很多事情(如參數傳遞,任務等)變得更簡單。

相關問題