在下面的問題我沒有得到大膽的行。該行是否意味着創建類隔離的數組對象?因爲據我所知,Java沒有指針的概念。對象陣列
創建一個抽象類隔間來代表鐵路教練。在課堂上提供抽象功能通知。從課堂課導出FirstClass,General,Ladies和Luggage課程。覆蓋其中每一個的通知功能。 創建一個TestCompartment類。寫主要功能做到以下幾點: 聲明大小10
在下面的問題我沒有得到大膽的行。該行是否意味着創建類隔離的數組對象?因爲據我所知,Java沒有指針的概念。對象陣列
創建一個抽象類隔間來代表鐵路教練。在課堂上提供抽象功能通知。從課堂課導出FirstClass,General,Ladies和Luggage課程。覆蓋其中每一個的通知功能。 創建一個TestCompartment類。寫主要功能做到以下幾點: 聲明大小10
一方面,Java沒有指針的概念;另一方面,Java以外的所有東西(即所有的Object
衍生的東西)都可以作爲「指針」,儘管在技術上它們不被稱爲「指針」。
Java調用它們引用,但既然有這樣的東西作爲參考null
,他們表現得非常像C和C++指針。
無論如何,當你創建的十個非原語的數組,您創建引用數組,每一個組到null
:
Compartment[] compartments = new Compartment[10];
這是從創建10個Compartment
對象的不同,在對象當你創建一個數組時,它們本身不會被創建,只有在需要的時候纔可以通過它來引用這些對象。
那麼,在Java中,*表示空引用:-) – 2013-05-11 11:27:55
@ dasblinkenlight真的很好的解釋。 +1 – 2013-05-11 12:34:53
Java沒有像這樣的指針。所有不是原始的東西都是參考。
「參考」和「指針」之間有什麼區別? – 2013-05-11 11:23:42
@HotLicks:有一件事存在,另一件不存在。存在的東西和不存在的東西之間有什麼區別? – 2013-05-11 11:29:03
@HotLicks添加到Kerrek,如果你需要它,AFAIK的區別是我們不能對引用進行算術運算。我們可以在指針 – 2013-05-11 11:31:04
儘管Java中引用的底層實現歸結爲C類指針(因爲它在某些時候確實如此),但我認爲引用將是貫穿請求的更好方式。您只需聲明一個經典數組。
引用並不總是用java中的指針實現的。來自Oracle的當前64位jvm確實有一種模式,其中引用存儲爲32位值,然後在使用前將其移位2次。因此,每個參考僅使用32位,但仍允許訪問16GB RAM。 – MTilsted 2013-05-11 12:23:09
@MTilsted - 還有一些類似操作的指針實例。 – 2013-05-11 18:20:11
「參考」和「指針」是一回事。 (它寫得很差,寫它的人應該得到一個「D」。) – 2013-05-11 11:21:56
(JLS 4.3.1第2行)引用值(通常是引用)是指向這些對象的指針,還有一個特殊的空引用,沒有對象。 – johnchen902 2013-05-11 11:28:27