Java是面向對象的程序設計語言,類是面向對象的重要內容,可以把類當成一種自定義數據類型,可以使用類來定義變量,這種類型的變量統稱爲引用型變量。也就是說,所有類是引用數據類型。
定義類
[修飾符] class 類名
{
零個到多個構造器定義…
零個到多個屬性…
零個到多個方法…
}
對一個類定義而言,可以包含三種最常見的成員:構造器、屬性和方法。屬性用於定義該類或該類實例所包含的數據,方法則用於定義該類或該類的實例的行爲特徵或功能實現。構造器用於構造該類的實例,Java語言通過new關鍵字來調用構造器,從而返回該類的實例。
定義屬性的語法格式:
[修飾符] 屬性類型 屬性名 [=默認值]
定義方法的語法格式:
[修飾符] 方法返回值類型 方法名(形參列表)
{
//由零條到多條可執行性語言組成的方法體
}
static是一個特殊的關鍵字,它可用於修飾方法、屬性等成員。static修飾的成員表明它是屬於這個類共有的,而不是屬於該類的單個實例,因此通常把static修飾的屬性和方法也稱爲類屬性、類方法。不使用static修飾的普通方法、屬性則屬於該類的單個實例,而不是屬於該類。因此通常把不使用static修飾的屬性和方法也稱爲實例屬性、實例方法。
定義構造器的語法格式:
[修飾符] 構造器名(形參列表)
{
//由零條到多條可執行性語句組成的構造器執行體
}
(其中:構造器名必須和類名相同.)
注意:構造器不能定義返回值類型聲明,也不能使用void定義構造器沒有返回值,否則編譯時不會報錯,但Java會把這個所謂的構造器當成方法來處理。
例子:
public class Person
{
//定義了Person類的兩個屬性
public String name;
public int age;
//定義了一個say方法
public void say(String content)
{
System.out.println(content);
}
}
上面的Person類代碼中沒有定義構造器,但系統會提供一個默認的構造器,只是沒有參數。
對象的產生和使用
創建對象的根本途徑是構造器,如下所示:
Person p=new Person();
static修飾的方法和屬性,既可以通過類來調用,也可以通過實例來調用;沒有使用static修飾的普通方法或屬性,則只可通過實例來調用。
Java提供一個this關鍵字,它是一個對象的默認引用。this關鍵字總是指向調用該方法的對象。1. 構造器中引用該構造器執行初始化的對象;2. 在方法中引用調用該方法的對象。
例子:
public class Dog
{
//定義一個jump方法
public void jump()
{
System.out.println("正在執行jump方法");
}
//定義一個run方法,run方法需要藉助jump方法
public void run()
{
this.jump();
System.out.println("正在執行run方法");
}
}
文章摘自李剛《瘋狂Java講義》。