1. 程式人生 > >Java筆記丨11 類、欄位、方法

Java筆記丨11 類、欄位、方法

類是組成Java程式的基本要素

是一類物件的原型

它封裝了一類物件的狀態和方法

它將變數與函式封裝到一個類中

 

欄位和方法

Class Person{

    String name;

    int age;

    void sayHello(){

        System.out.println(“Hello!My name is “+name);

    }

}

欄位(field)是類的屬性,是用變數來表示的。

欄位又稱為域、域變數、屬性、成員變數等

方法(method)是類的功能和操作,是用函式來表示的

 

構造方法

構造方法是一種特殊的方法

用來初始化(new)該類的一個新的物件

構造方法和類同名,而且不寫返回資料型別

Person(String n,int a){

    name=n;

    age=a;

}

 

預設構造方法

一般情況下,類都有一個至多個構造方法

如果沒有定義任何構造方法,系統會自動產生一個構造方法,成為預設構造方法(default constructor)

預設構造方法不帶引數,並且方法體為空。

 

使用物件

訪問物件的欄位或方法,需要用算符“.”

Person p=new Person();

System.out.println(p.name);

p.sayHello();

使用這種方法的好處

    封裝性

    安全性

 

方法過載(overload)

方法過載(overloading):多個方法有相同的名字,編譯時能識別出來。

這些方法的簽名(signature)不同,或者說是引數個數不同,或者是引數型別不同。

通過方法過載可以實現多型(polymorphism)。

 

this的使用

1.在方法及構造方法中,使用this來訪問欄位及方法

例如,方法sayHello中使用name和使用this.name是相同的。即:

void sayHello(){

System.out.println(“Hello!My name is ”+name);

}

void sayHello(){

System.out.println(“Hello!My name is ”+this.name);

}

這兩個含義是相同的。

 

2.this指當前例項物件本身,可以解決區域性變數與域同名的問題,還可以解決區域性變數(方法中的變數)或引數變數與域變數同名的問題。如,在構造方法中,經常這樣用:

Person(int age,String name){

    this.age=age;

    this.name=name;

}

這裡,this.age表示域變數,而age表示的是引數變數。

 

3.構造方法中,用this呼叫另一構造方法

Person(){

    this(0,“”);

    ......

}

在構造方法中呼叫另一構造方法,則這條呼叫語句必須放在第一句