Java的欄位和方法

來源:互聯網
上載者:User

定義一個類時(我們在Java裡的全部工作就是定義類、製作那些類的對象以及將訊息發給那些對象),可在自己的類裡設定兩種類型的元素:資料成員(有時也叫“欄位”)以及成員函數(通常叫“方法”)。其中,資料成員是一種對象(通過它的控制代碼與其通訊),可以為任何類型。它也可以是主類型(並不是控制代碼)之一。如果是指向對象的一個控制代碼,則必須初始化那個控制代碼,用一種名為“構建器”(第4章會對此詳述)的特殊函數將其與一個實際對象串連起來(就象早先看到的那樣,使用new關鍵字)。但若是一種主類型,則可在類定義位置直接初始化(正如後面會看到的那樣,控制代碼亦可在定義位置初始化)。
每個對象都為自己的資料成員保有儲存空間;資料成員不會在對象之間共用。下面是定義了一些資料成員的類樣本:

 

class DataOnly {  int i;  float f;  boolean b;}


這個類並沒有做任何實質性的事情,但我們可建立一個對象:
DataOnly d = new DataOnly();
可將值賦給資料成員,但首先必須知道如何引用一個對象的成員。為達到引用對象成員的目的,首先要寫上物件控點的名字,再跟隨一個點號(句點),再跟隨對象內部成員的名字。即“物件控點.成員”。例如:
d.i = 47;
d.f = 1.1f;
d.b = false;
一個對象也可能包含了另一個對象,而另一個對象裡則包含了我們想修改的資料。對於這個問題,只需保持“串連句點”即可。例如:
myPlane.leftTank.capacity = 100;
除容納資料之外,DataOnly類再也不能做更多的事情,因為它沒有成員函數(方法)。為正確理解工作原理,首先必須知道“自變數”和“傳回值”的概念。我們馬上就會詳加解釋。

1. 主成員的預設值
若某個主要資料類型屬於一個類成員,那麼即使不明確(顯式)進行初始化,也可以保證它們獲得一個預設值。

主類型 預設值

Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d

一旦將變數作為類成員使用,就要特別注意由Java分配的預設值。這樣做可保證主類型的成員變數肯定得到了初始化(C++不具備這一功能),可有效遏止多種相關的編程錯誤。
然而,這種保證卻並不適用於“局部”變數——那些變數並非一個類的欄位。所以,假若在一個函數定義中寫入下述代碼:
int x;
那麼x會得到一些隨機值(這與C和C++是一樣的),不會自動初始化成零。我們責任是在正式使用x前分配一個適當的值。如果忘記,就會得到一條編譯期錯誤,告訴我們變數可能尚未初始化。這種處理正是Java優於C++的表現之一。許多C++編譯器會對變數未初始化發出警告,但在Java裡卻是錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.