this
- 在類的方法定義中使用的
this
關(guān)鍵字代表使用該方法的對(duì)象的引用 - 當(dāng)必須指出當(dāng)前使用方法的對(duì)象是誰(shuí)時(shí)要使用
this
- 有時(shí)使用
this
可以處理方法中成員變量和參數(shù)重名的情況 - this可以看作是一個(gè)變量,它的值是當(dāng)前對(duì)象的引用
static
- 在類中,用
static
聲明的成員變量為靜態(tài)成員變量,它為該類的公用變量,在第一次使用時(shí)被初始化,對(duì)于該類的所有對(duì)象來(lái)說(shuō),static成員變量只有一份 - 用static聲明的方法為靜態(tài)方法,在調(diào)用該方法時(shí),不會(huì)將對(duì)象的引用傳遞給它,所以static方法中不可訪問(wèn)非static的成員.
靜態(tài)方法不再是針對(duì)某個(gè)對(duì)象調(diào)用,所以不能訪問(wèn)非靜態(tài)成員 - 可以通過(guò)對(duì)象引用或類名(不需要實(shí)例化)訪問(wèn)靜態(tài)成員,如
public class Person {
public static int age;
}
//
Person p = new Person();
p.age = 20;//通過(guò)對(duì)象引用訪問(wèn)靜態(tài)成員
Person.age = 30;//通過(guò)類名訪問(wèn)靜態(tài)成員