1. 程式人生 > >this和static關鍵字總結

this和static關鍵字總結

this關鍵字:

1、this表示的是當前本身。更準確的說,this代表當前物件的一個引用。

2、區分類成員屬性和方法的形參,呼叫當前物件的其他方法。(任意位置)

3、使用this來呼叫其他構造方法。(必須是第一條語句)

4、This不能用於static方法。

程式碼示例:

public class TestThis {	
	int a,b,c;
	TestThis(){
		System.out.println("正要new一個Hello物件");
	}
	
	TestThis(int a,int b){
		//Hello();    // //這樣是無法呼叫構造方法的!
		this();   //呼叫無參的構造方法,並且必須位於第一行!
		
		a = a;//這裡都是指的區域性變數而不是成員變數
		this.a = a;//這樣就區分了成員變數和區域性變數.  這種情況佔了this使用情況的大多數!
		this.b = b;
	}
	
	TestThis(int a,int b,int c){
		this(a,b);    //呼叫無參的構造方法,並且必須位於第一行!
		this.c = c;
	}
	
	
	void sing(){}
	
	 void chifan(){
		this.sing();    //sing();
		System.out.println("你媽媽喊你回家吃飯!");
	}
	
	public static void main(String[] args){
		TestThis hi = new TestThis(2,3);
		hi.chifan();
	}	
}

Static關鍵字:在類中中,用static生命的成員變數為靜態成員變數,或者叫做類屬性,類變數。

1、他為該類的公用變數,屬於累,被該類的所有例項共享,在類被載入時被顯式初始化。

2、對於該類的所有物件來說,static成員變數只有一份。被該類的所有物件共享。

3、可以使用“物件.類屬性”來呼叫。不過,一般都是用“類名.類屬性”。

4、Static變數置於方法區中。

static宣告的方法為靜態方法:

1、不需要物件,就可以呼叫(類名.方法名)。

2、在呼叫該方法是,不會將物件的引用傳遞給它,所以在static方法中不可訪問非static的成員。

3、靜態方法不能以任何方式引用this

super關鍵字。

public class TestStatic {	
	int a;
	static int width;
	
	static void gg(){
		System.out.println("gg");
	}
	void tt(){
		System.out.println("tt");
	}
	
	public static void main(String[] args){
		TestStatic hi = new TestStatic();
		TestStatic.width = 2;
		TestStatic.gg();  //gg();
		hi.gg();    //通過引用也可以訪問static變數或static方法。不過,一般還是使用類名.static成員名來訪問。
		gg();
	}	
}

靜態初始化塊:

1、如果希望載入後,對整個類進行某些初始化操作,可以使用static初始化程式碼塊。

2、類第一次被載入時先執行static程式碼塊;類多次載入時,static程式碼塊只執行一次;static經常用來進行static變數的初始化。

3、是在類初始化是執行,不是在建立物件時執行。

4、靜態初始化塊中不能訪問非static成員。

public class TestStaticBlock { 
	
	static {
		System.out.println("此處,可執行類的初始化工作!");
	}
	
	public static void main(String[] args) {
		System.out.println("main方法中的第一句");
	}
}

相關推薦

thisstatic關鍵字總結

this關鍵字: 1、this表示的是當前本身。更準確的說,this代表當前物件的一個引用。 2、區分類成員屬性和方法的形參,呼叫當前物件的其他方法。(任意位置) 3、使用this來呼叫其他構造方法。(必須是第一條語句) 4、This不能用於static方法。 程式碼示例:

Java——thisstatic關鍵字

this關鍵字 編譯器優化:就近原則,取最近的同變數名 1 this表示呼叫本類屬性 只要在類中訪問類的屬性,一定要加上this關鍵字 2 this表示呼叫本類方法 a.呼叫普通方法: this.方法名(引數) 當有類的繼承關係時,呼叫本類方法時一定要加this關鍵字 b.呼叫構

面向物件中的finalstatic關鍵字特點總結

1 final的特點 1.1 final修飾類不可以被繼承,但是可以繼承其他類。 class Yy {} final class Fu extends Yy{} //可以繼承Yy類 class Zi extends Fu{} /

final、staticthis、super 關鍵字總結

final 關鍵字 final關鍵字主要用在三個地方:變數、方法、類。 對於一個final變數,如果是基本資料型別的變數,則其數值一旦在初始化之後便不能更改;如果是引用型別的變數,則在對其初始化之後

Java中this關鍵字static關鍵字

1 this關鍵字 this關鍵字主要有三個方面的用途: this表示本類屬性。 this表示本類方法。 this表示當前物件。 1.1 this表示本類屬性 觀察以下程式碼: class Person{ private String name

為什麼靜態成員、靜態方法(static)中不能用thissuper關鍵字

因為this代表的是呼叫這個函式的物件的引用,而靜態方法是屬於類的,不屬於物件,靜態方法成功載入後,物件還不一定存在 在問題之前先講super的用法:1.super的用法跟this類似,this代表對本類物件的引用,指向本類已經建立的物件;而super代表對父類物件的引用,指

Java基礎之finalstatic關鍵字

推薦 構造方法 其他 如果 靈活 位置 map 機制 lis 一、final 根據程序上下文環境,它可以修飾非抽象類、非抽象類成員方法和變量。 final類不能被繼承,沒有子類,final類中的方法默認是final的。 final

java中this super關鍵字的作用

etag 傳遞 記錄 ont this spa 根據 普通 void emmmmmm也真的是好久沒有寫過java了,因為項目需要, 最近又必須重新拾起來了,雖然好多東西也都忘得差不多了.... 然後發現 竟然把super和this傻傻分不清.... 開個帖子記錄一下: 一、

Java基礎之thissuper關鍵字用法

鏈接 tps 事件 歧義 調用 數據 沒有 方法名 訪問 this 在java中,this是一個引用當前類對象的引用變量,主要有以下幾種用法: 引用當前類的實例變量· this關鍵字可以用來引用當前類的實例變量。如果實例變量和某個方法的參數之間存在歧義(實例變量和參數命名相

thissuper的總結

ace code this 重名 構造 string 一起 sha 實參 關於

淺談thisstatic

當前 多個 技術 代碼 三種 ati 成員 聲明 語法 一.this關鍵字 一個比較經典的使用: 輸出的結果是:12 1.this關鍵字只能在方法的內部使用,表示對“調用方法的那個對象”的引用,this的用法和其他對象引用並無不同。註意一點:在方法的內部調用同一個類的其他

第九天(上) finalstatic關鍵字

結果 需要 println 使用 trac 非靜態變量 地理 成員變量 tex 繼承的出現提高了代碼的復用性,方便開發,是多態的前提,但隨之而來的也有問題,有些累在描述後不想被繼承,或者裏面的方法功能時固定的,不想讓子類重寫,可子類繼承之後又可以重寫該怎麽辦呢這個時候就需要

C++ const static總結以及使用

局部變量 數值 功能 const 常量 指針 main this指針 同名 this 一 static的使用 (作用域和存儲方式) 1.作用域---------->隱藏 靜態函數跟靜態全局變量的作用類似 (靜態函數不能被其它文件所用; 其它文件中可以定義相同名字的函

Java中thisstatic關鍵字的記憶體圖解

  Java中的關鍵字有很多,abstract  default  goto*  null  switch  boolean  do  if  package  nchronzed  break&nb

Java中thisstatic關鍵字的內存圖解

數據區 prot 屬性 volatile stat strong 發展 char ons Java中的關鍵字有很多,abstract default goto* null switch boolean do if package nchronzed

【轉】c++中的static關鍵字總結

個人總結: static會隱藏全域性變數和全域性函式可見範圍,使其盡在定義檔案中可見; static會改變區域性變數生存週期,在程式中一直存在,而不僅僅在區域性變數定義的函式中; static會改變類的成員變數的生存週期,在程式中一直存在; static會修改函式的使用方

PHP 簡單理解單例模式static 關鍵字

php單例模式 單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含一個被稱為單例的特殊類。通過單例模式可以保證系統中一個類只有一個例項。即一個類只有一個物件例項。 要點主要有三個: 1.一個類只能有一個物件; 2.必須是自行建立這個類的物件; 3,要想整個系統提供

java this super 關鍵字

this和super 由於最近看原始碼的時候發現this關鍵字的出現頻率頗高,可能是自己沒有注意到的一個知識點,現在來補充記錄一下。this和super一般是放在一起學習。 this this是用於訪問本類中的成員變數,成員方法,和構造方法。表示當前物件。 su

thisstatic關鍵字

this關鍵字 1:在類的方法定義中使用的this關鍵字代表使用該方法的物件的引用 (對哪個物件呼叫的方法,this指的就是誰)。 2:當必須指出當前使用方法的物件是誰要使用this。 3:有時使用this可以處理方法中非成員變數和引數重名的情況。 4:this可以看做是一個變數,它的值

this super關鍵字

一、this  關鍵字    this關鍵字代表的就是函式所屬的呼叫者。this關鍵字的作用:        1.如果存在同名的成員變數與區域性變數時,在方法內部預設的時訪問的時區域性變數,可以通過this關鍵字呼叫成員變數