程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java中的常見關鍵字解析

java中的常見關鍵字解析

編輯:JAVA編程入門知識

本文主要針對Java常見關鍵字final,static,super,this進行詳細辨析,以方便讀者參考查閱。具體如下:

一、final

1)修飾class(類):

表示此類不可被繼承了

2)修飾method(方法)

表示此方法方法不可被重寫(@override)了

3)修飾variable(變量)

表示此變量的值之後不可被改變了,常用於修飾不可變的常量

注:final字面意思是“最後”、“不可更改”的意思,結合意思記憶更方便。

二、static(第二、三法常用)

1)修飾class(類):

(不常用)只可用於修飾內部類,普通類不允許這麼聲明

2)修飾method(方法)

static方法是屬於類所有(對象間共享),而不是某個對象。不需創建對象,可以使用類名進行調用此方法。
(程序執行時,類的字節碼被加載到內存中,類沒有創建對象時,類變量已經被分配內存,實例變量在創建具體對象時才分配內存空間。)

3)修飾variable(變量)

類似於2),變量是類級別的共享,不需創建對象,但是變量的值的變化是整體性的,也就是說,對象A對某static變量的值進行操作而改變了,那麼對象B操作的就是改變後的static變量。

注:使用static修飾的代碼塊叫做靜態代碼塊,靜態代碼塊在JVM加載類的時候就先被執行了,無論它們被放在什麼位置,它們都是先被執行,然後才是正常的代碼塊被執行。可以有多個靜態代碼塊,它們會依次被JVM按照出現順序執行,每個代碼塊只會被執行一次。

靜態方法中不能有this和super關鍵字出現。

三、super:(指對父類的引用)

1)與Class相關(父類,也稱超類):

通過super(參數1,參數2,……,參數n),調用父類構造函數;

2)與Method(方法)相關

super.Methord(參數1,參數2,……,參數n)調用父類被重寫的方法;

3)與variable(變量)相關

super.variable,調用父類的變量

注:super必須用在子類構造方法的第一行;

當父類沒有不帶參數的構造方法時,子類需要使用super來顯式地調用父類的構造方法,super指的是對父類的引用

四、this:(對當前對象的引用)

1)Class相關:

this(參數1,參數2,……,參數n),這是普通的構造函數,只能是構造函數(其他)調用構造函數(this),普通函數無法調用構造函數。

2)Method(方法)相關:

調用當前對象的方法

3)Variable(變量)相關:

調用當前對象的變量

注:this();和super();顯式的調用構造函數只能放在構造第一行;

this.method..();super.method..();可以放在任何地方當作一個普通的方法使;

構造器和方法使用關鍵字this有很大的區別。方法引用this指向正在執行方法的類的實例。靜態方法不能使用this關鍵字,因為靜態方法不屬於類的實例,所以this也就沒有什麼東西去指向。構造器的this指向同一個類中,不同參數列表的另外一個構造器。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved