有些時候,程序員必須時刻留意準備處理的是什么類型。 您曾利用一些特殊語法直接操作過對象,或處理過一些間接表示的對象嗎(C或C++里的指針)? 所有這些在Java里都得到了簡化,任何東西都可看作對象。 因此,我們可采用一種統一的語法,任何地方均可照搬不誤。 但要注意,盡管將一切都“ 在其他Java參考書里,還可看到有的人將其稱作一個“引用”,甚至一個“指針”。可將這一情形想象成用遙控板(句柄)操縱電視機(對象)。只要握住這個遙控板,就相當于掌握了與電視機連接的通道。 但一旦需要“換頻道”或者“關小聲音”,我們實際操縱的是遙控板(句柄),再由遙控板自己操縱電視機(對象)。如果要在房間里四處走走,并想保持對電視機的控制,那么手上拿著的是遙控板,而非電視機。 此外,即使沒有電視機,遙控板亦可獨立存在。 也就是說,只是由于擁有一個句柄,并不表示必須有一個對象同它連接。所以如果想容納一個詞或句子,可創建一個String句柄: String s; 但這里創建的只是句柄,并不是對象。若此時向s發送一條消息,就會獲得一個錯誤(運行期)。這是由于s實際并未與任何東西連接(即“沒有電視機”)。 String s = "豬頭三"; 然而,這里采用的是一種特殊類型:字串可用加引號的文字初始化。通常,必須為對象使用一種更通用的初始化類型。 |