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
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方法中的第一句");
}
}
相關推薦
this和static關鍵字總結
this關鍵字: 1、this表示的是當前本身。更準確的說,this代表當前物件的一個引用。 2、區分類成員屬性和方法的形參,呼叫當前物件的其他方法。(任意位置) 3、使用this來呼叫其他構造方法。(必須是第一條語句) 4、This不能用於static方法。 程式碼示例:
Java——this和static關鍵字
this關鍵字 編譯器優化:就近原則,取最近的同變數名 1 this表示呼叫本類屬性 只要在類中訪問類的屬性,一定要加上this關鍵字 2 this表示呼叫本類方法 a.呼叫普通方法: this.方法名(引數) 當有類的繼承關係時,呼叫本類方法時一定要加this關鍵字 b.呼叫構
面向物件中的final和static關鍵字特點總結
1 final的特點 1.1 final修飾類不可以被繼承,但是可以繼承其他類。 class Yy {} final class Fu extends Yy{} //可以繼承Yy類 class Zi extends Fu{} /
final、static、this、super 關鍵字總結
final 關鍵字 final關鍵字主要用在三個地方:變數、方法、類。 對於一個final變數,如果是基本資料型別的變數,則其數值一旦在初始化之後便不能更改;如果是引用型別的變數,則在對其初始化之後
Java中this關鍵字和static關鍵字
1 this關鍵字 this關鍵字主要有三個方面的用途: this表示本類屬性。 this表示本類方法。 this表示當前物件。 1.1 this表示本類屬性 觀察以下程式碼: class Person{ private String name
為什麼靜態成員、靜態方法(static)中不能用this和super關鍵字
因為this代表的是呼叫這個函式的物件的引用,而靜態方法是屬於類的,不屬於物件,靜態方法成功載入後,物件還不一定存在 在問題之前先講super的用法:1.super的用法跟this類似,this代表對本類物件的引用,指向本類已經建立的物件;而super代表對父類物件的引用,指
Java基礎之final和static關鍵字
推薦 構造方法 其他 如果 靈活 位置 map 機制 lis 一、final 根據程序上下文環境,它可以修飾非抽象類、非抽象類成員方法和變量。 final類不能被繼承,沒有子類,final類中的方法默認是final的。 final
java中this 和 super關鍵字的作用
etag 傳遞 記錄 ont this spa 根據 普通 void emmmmmm也真的是好久沒有寫過java了,因為項目需要, 最近又必須重新拾起來了,雖然好多東西也都忘得差不多了.... 然後發現 竟然把super和this傻傻分不清.... 開個帖子記錄一下: 一、
Java基礎之this和super關鍵字用法
鏈接 tps 事件 歧義 調用 數據 沒有 方法名 訪問 this 在java中,this是一個引用當前類對象的引用變量,主要有以下幾種用法: 引用當前類的實例變量· this關鍵字可以用來引用當前類的實例變量。如果實例變量和某個方法的參數之間存在歧義(實例變量和參數命名相
this和super的總結
ace code this 重名 構造 string 一起 sha 實參 關於
淺談this和static
當前 多個 技術 代碼 三種 ati 成員 聲明 語法 一.this關鍵字 一個比較經典的使用: 輸出的結果是:12 1.this關鍵字只能在方法的內部使用,表示對“調用方法的那個對象”的引用,this的用法和其他對象引用並無不同。註意一點:在方法的內部調用同一個類的其他
第九天(上) final和static關鍵字
結果 需要 println 使用 trac 非靜態變量 地理 成員變量 tex 繼承的出現提高了代碼的復用性,方便開發,是多態的前提,但隨之而來的也有問題,有些累在描述後不想被繼承,或者裏面的方法功能時固定的,不想讓子類重寫,可子類繼承之後又可以重寫該怎麽辦呢這個時候就需要
C++ const 和static的總結以及使用
局部變量 數值 功能 const 常量 指針 main this指針 同名 this 一 static的使用 (作用域和存儲方式) 1.作用域---------->隱藏 靜態函數跟靜態全局變量的作用類似 (靜態函數不能被其它文件所用; 其它文件中可以定義相同名字的函
Java中this、static關鍵字的記憶體圖解
Java中的關鍵字有很多,abstract default goto* null switch boolean do if package nchronzed break&nb
Java中this、static關鍵字的內存圖解
數據區 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
this,static關鍵字
this關鍵字 1:在類的方法定義中使用的this關鍵字代表使用該方法的物件的引用 (對哪個物件呼叫的方法,this指的就是誰)。 2:當必須指出當前使用方法的物件是誰要使用this。 3:有時使用this可以處理方法中非成員變數和引數重名的情況。 4:this可以看做是一個變數,它的值
this 和super關鍵字
一、this 關鍵字 this關鍵字代表的就是函式所屬的呼叫者。this關鍵字的作用: 1.如果存在同名的成員變數與區域性變數時,在方法內部預設的時訪問的時區域性變數,可以通過this關鍵字呼叫成員變數