1. 類的基本定義形式
Java中,最簡單的類定義形式爲:
class ClassName
{
fields……
constructors……
methods……
}
一般類名的首字母要大寫。
2. 訪問修飾符——public和private
在一個源文件中,只能有一個public類,並且文件名必須與public類名字相同,一般將包含main方法的類聲明爲public類。一般將數據域設置爲私有,如果要訪問或者更改,可以設置相應的公有的訪問器或是更改器方法。
相同類的不同對象實例可以彼此訪問對方的私有域。
3. 靜態域與靜態方法——static修飾符
其實稱之爲“類域”和“類方法”更好理解,因爲靜態域與靜態方法通常屬於一個類而不屬於該類的任何實例,調用時也用類名調用(典型的如Math類)。
(1)靜態變量
一般用private static聲明,每個類中只有一個這樣的域,而每個對象都有一份拷貝。
(2)靜態常量
少有的聲明爲public的數據域(一般用public static final聲明),因爲是常量,不用擔心封裝性被破壞,可以通過類直接訪問調用(典型如Math.PI、System.out等等)。
(3)靜態方法
靜態方法不能向對象施加操作,換言之,即沒有隱式參數,不過可以訪問和操作該類的靜態變量。此外,main方法也是靜態方法,工廠方法(factory method)也是靜態方法,常用於生產不同風格的格式化對象,或者需要構造一個該類的子類的對象時,可以使用工廠方法。
4. 構造器及其重載
構造器的名字必須與類相同。同時,構造器可以重載。
(1)一般設置一個無參數的構造器,用於設置默認值。
(2)用this調用同一個類的另一個構造器(該方法十分有用,對於一個具有很多構造器的類,公共部分的代碼只需編寫一份,再用this關鍵字調用即可)。
(3)其他初始化方法(一般在構造器之前執行):
①顯式初始化:在定義一個數據域時,直接將一個值賦值給數據域(有時候也可以調用一個方法進行初始化)。
②初始化塊。
5. 包(package)
包用於組織類,使用包的主要原因之一是確保類名的唯一性,例如util包和sql包中的Date類被認爲是不同的類。
(1)包的導入——import語句
import語句可以導入一個特定的類或者整個包,也可以使用*號來導入整個包,例如要導入LocalDate類,可以使用語句
import java.time.LocalDate;
也可以使用語句
import java.time.*;
靜態導入:可以使用import static來導入某個類的特定或所有靜態域、靜態方法。
(2)將類放入包中——package語句
package語句位於整個源文件的最上方,若不顯式地聲明,則這個源文件中的類會被放置在默認包中。