程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 用句柄操縱對象

用句柄操縱對象

編輯:關於JAVA

每種編程語言都有自己的數據處理方式。有些時候,程序員必須時刻留意准備處理的是什麼類型。您曾利用一些特殊語法直接操作過對象,或處理過一些間接表示的對象嗎(C或C++裡的指針)?

所有這些在Java裡都得到了簡化,任何東西都可看作對象。因此,我們可采用一種統一的語法,任何地方均可照搬不誤。但要注意,盡管將一切都“看作”對象,但操縱的標識符實際是指向一個對象的“句柄”(Handle)。在其他Java參考書裡,還可看到有的人將其稱作一個“引用”,甚至一個“指針”。可將這一情形想象成用遙控板(句柄)操縱電視機(對象)。只要握住這個遙控板,就相當於掌握了與電視機連接的通道。但一旦需要“換頻道”或者“關小聲音”,我們實際操縱的是遙控板(句柄),再由遙控板自己操縱電視機(對象)。如果要在房間裡四處走走,並想保持對電視機的控制,那麼手上拿著的是遙控板,而非電視機。

此外,即使沒有電視機,遙控板亦可獨立存在。也就是說,只是由於擁有一個句柄,並不表示必須有一個對象同它連接。所以如果想容納一個詞或句子,可創建一個String句柄:
String s;
但這裡創建的只是句柄,並不是對象。若此時向s發送一條消息,就會獲得一個錯誤(運行期)。這是由於s實際並未與任何東西連接(即“沒有電視機”)。因此,一種更安全的做法是:創建一個句柄時,記住無論如何都進行初始化:
String s = "asdf";
然而,這裡采用的是一種特殊類型:字串可用加引號的文字初始化。通常,必須為對象使用一種更通用的初始化類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved