Java修飾符總結

2021-08-15 18:27:53 字數 2084 閱讀 4493

訪問許可權修飾符

1.public :共有訪問,對所有類都可見

2.protected:保護型訪問。對同乙個包可見,對不同包的子類可見

3.default:預設訪問許可權。只對同乙個包可見,對不同包的子類不可見

3.private:私有訪問。只對同乙個類可見,其餘都不見

非訪問許可權修飾符

1.static修飾符,用來建立類方法和類變數

2.final修飾符,用來修飾類、方法、變數

3.abstract修飾符,用來建立抽象類的抽象方法

4.synchronized用於多執行緒的同步

5.volatile修飾的成員變數在每次被執行緒訪問時,都強制從共享記憶體中重新讀取該成員變數的值

6.transient:序列化的物件包含被transient修飾的例項變數時,jvm跳過該特定的變數

外部類修飾符

public 將乙個類宣告為公共類,它可以被任何物件訪問,乙個程式的主類必須是公共類

default 類只對包內可見,包外不可見

abstract 抽象類不能例項化物件,唯一的目的是為了將來對該類進行擴充

final 最終類 不能被繼承

注意:1.final和abstract不能同時修飾外部類,因為類要麼繼承要麼不被繼承

2.不能用static修飾,因為類載入後才會載入靜態成員變數。所以不能用static修飾類和介面,因為類還沒有載入,無法使用static關鍵字

內部類修飾符

內部類和成員變數是一樣的,都可以用public,protected,default和private。也可以用static修飾,表示巢狀內部類,不用例項化外部類,即可呼叫

方法修飾符

public(公共控制符),包外包內都可以呼叫該方法。

protected(保護訪問控制符)指定該方法可以被它的類和子類進行訪問。

default(預設許可權),指定該方法只對同包可見,對不同包(含不同包的子類)不可見。

private(私有控制符)指定此方法只能有自己類等方法訪問,其他的類不能訪問(包括子類),非常嚴格的控制。

final ,指定方法已完備,不能再進行繼承擴充。

static,指定不需要例項化就可以啟用的乙個方法,即在記憶體中只有乙份,通過類名即可呼叫。

synchronize,同步修飾符,在多個執行緒中,該修飾符用於在執行前,對它所屬的方法加鎖,以防止其他執行緒的訪問,執行結束後解鎖。

native,本地修飾符。指定此方法的方法體是用其他語言在程式外部編寫的。

abstract ,抽象方法是一種沒有任何實現的方法,該方法的的具體實現由子類提供。抽象方法不能被宣告成 final 和 static。 任何繼承抽象類的子類必須實現父類的所有抽象方法,除非該子類也是抽象類。 如果乙個類包含若干個抽象方法,那麼該類必須宣告為抽象類。抽象類可以不包含抽象方法。 抽象方法的宣告以分號結尾,例如:public abstract sample();。

成員變數修飾符

public(公共訪問控制符),指定該變數為公共的,它可以被任何物件的方法訪問。

protected(保護訪問控制符)指定該變數可以別被自己的類和子類訪問。在子類中可以覆蓋此變數。

default(預設許可權),指定該變數只對同包可見,對不同包(含不同包的子類)不可見。

private(私有訪問控制符)指定該變數只允許自己的類的方法訪問,其他任何類(包括子類)中的方法均不能訪問。

final,最終修飾符,指定此變數的值不能變。

static(靜態修飾符)指定變數被所有物件共享,即所有例項都可以使用該變數。變數屬於這個類。

transient(過度修飾符)指定該變數是系統保留,暫無特別作用的臨時性變數。不持久化。

volatile(易失修飾符)指定該變數可以同時被幾個執行緒控制和修改,保證兩個不同的執行緒總是看到某個成員變數的同乙個值

區域性變數修飾符

不能賦予許可權修飾符

不能用static修飾

介面修飾符

只能用public 、default、abstract,不能用final,static修飾

介面方法修飾符

只能用public 、default、abstract。預設是public abstract

jdk1.8以後介面允許定義static靜態方法了

Java 修飾符總結

類修飾符 public 可以從其他類中訪問 obstract 本類不能被例項化 final 不能再宣告子類 構造器修飾符 public 可以從所有的類中訪問 protected 只能從自己的類和它的子類中訪問 private 只能在本類中訪問 域修飾符 public 可以從所有的類中訪問 prote...

java修飾符 abstract 修飾符

abstract 修飾符 abstract 修飾符可以用來修飾類和成員方法 用 abstract 修飾的類表示抽象類,抽象類位於繼承樹的抽象層,抽象類不能被例項化,即不允許建立抽象類本身的例項。沒有用 abstract 修飾的類稱為具體類,具體類可以被例項化。用 abstract 修飾的方法表示抽象...

java常見修飾符總結

1 訪問修飾符 public 對外公開 所有是類都能訪問 protected 受保護的 子類及其同乙個包中的類可以訪問 預設的 沒有訪問修飾符,只向同乙個包中的類公開 private 私有的 只有類本身可以訪問,不對外公開 2 abstract 可以用來修飾類和成員方法 a 用該修飾符修飾的類表示抽...