Java 訪問控制符 修飾符 詳解

2021-05-27 06:42:45 字數 1834 閱讀 8848

1.介面

介面是描述乙個對外公布的方法簽名,所有的物件都能訪問到,因此它的屬性和方

法不能違背介面的這個本質概念。所以介面的屬性強制為public static final

修飾的,為常量;介面方法強制為public abstract。任何手動設定這幾個修飾符,必

須滿足這個條件,如果和這幾個修飾符衝突,則報錯。如果沒有設定其中的乙個或多個

修飾符,它的修飾符也是這幾個。也就是說,無認你怎麼設定,只要沒報錯,那麼最終

,介面的屬性都是由public static final修飾,方法都是由public abstract修飾。

介面是為了給別的具體類來實現的,它是對方法集合的一種抽象。因此介面本身強

制被abstract修飾。無論你寫了還是沒寫abstract,它都是被abstract修飾的。

介面只允許被public,abstract被用來修飾,public可以沒有,則介面的訪問屬性

為預設default。

2.外部類

如果類中有抽象方法,則這個類必須被宣告為抽象類。抽象類不能被例項化。

內部類就和類屬性一樣,有各種訪問控制符。

外部類只允許被public,abstract,final修飾。public可以沒有,則外部內的訪問

屬性是預設default。abstract表示它是乙個抽象類,不能被例項化。final表示它是一

個最終類,不能被繼承。

3.內部類

可以很好地實現隱藏。外部類,是不允許有private和protected許可權的,但內部類

可以。內部類擁有它所在外部類所有元素的訪問許可權。

可以實現多重繼承(內部類存在的最大理由之一)

可以避免修改介面而實現同乙個類中兩種同名方法的呼叫

4.總共有4種訪問許可權:

作用域:  當前類  同一包  子孫類  其它包

private          是          否         否           否  

default          是          是         否           否

protected     是          是         是           否

public           是          是         是           是

4.其它

介面和外部類只有兩種訪問許可權:public,default。任何不是這兩種訪問屬性的都

報錯。變數允許的修飾符:public,protected,private,static,final,transient,

volatile。

方法允許的修飾符:public,protected,private,abstract,final,static,

synchronized,native。

abstract不能和private,final,static共用,因為它們表示的意義互相矛盾。

主入口函式public static void main(string args)除了引數名字可以改之外,

其它都不能更改,否則不是主入口函式,變為普通函式。

static                     靜態變數

final                       不可修改

abstract                抽象  

transient              序列化時,告訴編譯器此變數不需要持久儲存

volatile                 保證多執行緒正確處理此變數

native                   修飾的方法在類中沒有實現,jni使用

synchronized     多執行緒鎖鎖機制支援

java訪問控制修飾符,final修飾符

package mainfunction import test1.dog 修飾類檔案 如果不加任何修飾預設就是protest,及只有本包內的檔案可以訪問,其他包不能訪問,外部包要能訪問必須加上pubilic修飾該類 public class persion param age 年齡 param i...

java訪問修飾符詳解

public private protected abstract final static 修飾符的用法 public 訪問級別最高 其次是protected 預設 private 成員變數和成員方法可以被四個中的任何乙個訪問 類可以處於public 和預設,但是不能被protected和priv...

Java訪問修飾符和非訪問修飾符

private public protect default 訪問許可權 注意一下方法的繼承規則 1 父類宣告為public的方法,子類也必須是public 2 父類宣告的proteted的方法,子類可以是protected或public,不能是private 3 父類宣告的private的方法,不...