java常見修飾符總結

2021-06-22 05:18:01 字數 2147 閱讀 3926

1、訪問修飾符:public 對外公開  所有是類都能訪問

protected 受保護的 子類及其同乙個包中的類可以訪問

預設的:沒有訪問修飾符,只向同乙個包中的類公開

private : 私有的 只有類本身可以訪問,不對外公開

2、abstract :可以用來修飾類和成員方法

a:用該修飾符修飾的類表示抽象類,抽象類位於繼承樹的抽象層,該類不能被例項化,即不允許建立抽象類本身的例項

b:用該修飾符修飾的方法表示抽象方法,該方法沒有方法體,抽象方法是用來表述系統具有什麼功能,但不提供具體的實現。  

使用該修飾符需要遵守以下語法:

a:抽象類中可以沒有抽象方法,但包含抽象方法的類必須被定義為抽象類,如果子類沒有實現 父類中的所有的抽象方法,那麼

子類也必須被定義 為抽象類

b:抽象類中不能定義構造方法,也不能定義靜態方法

c:抽象類及抽象方法不能被final修飾,abstract與final不能同時出現在同乙個類中,因為抽象類只有允許建立子類,它的抽象方法才能被實現,並且 只有它的具體子類 才能被例項化,而final修飾的類不允許有子類,用final修飾的方法不允許被子類覆蓋,所 以把abstract和final同時使 用會自相矛盾

3、final :用來修飾非抽象類、非抽象方法和變數,被final修飾的類不能被繼承,不能有子類。 被final修飾的方法不能被覆蓋,final修飾的變數為常   量,只能被賦值一次。

a:final類:在如下的情況的時候可以將該類定義為final類。不是專為繼承而設計的類,類的方法之間有複雜的呼叫關係。若隨意的建立這些類的子類,子類就有可能會錯誤的修改父類的細節在建立物件模型時,確定該類不會被擴充套件

b:final方法:在父類不允許子類覆蓋某個方法時,可將該方法宣告為final型別。

c:final變數:表示取值不會變化的常量 可以修飾靜態變數、例項變數和區域性變數

final修飾的成員變數必須顯式初始化 

final型別的例項變數,可以在定義變數時或者在構造方法中進行初始化;但對於final型別的靜態變數,只能在定義時初始化final型別的變數 能賦值一次。

final修飾引用型別的變數時,那麼該變數只能始終引用乙個物件,但是可以改變物件的內容。

在程式中使用final來定義常量具有以下好處:

a:提高程式的安全性,禁止非法修改取值固定並且不允許改變的資料。

b:提高程式**的可維護性和可讀性。

4、static:  

<1>、static變數:

類的成員變數分為兩種:被static修飾的變數叫類變數或靜態變數,另一中沒有被static修飾的叫例項變數

靜態變數與例項變數的區別:

a:靜態變數在記憶體中只有乙個拷貝,jvm只為靜態變數宣告一次記憶體,在載入類的過程中完成靜態變數的記憶體分配。可通過類名直接訪問。

b:對於例項變數,每建立乙個例項,就會為例項變數分配一次記憶體,在記憶體中有多個拷貝,互不影響。

靜態變數的作用:

a:能被類的所有例項共享,可作為例項之間進行交流的共享資料

b:若類的所有例項都包含乙個相同的常量屬性,可把這個屬性定義為靜態常量型別,從而節省記憶體空間。

<2>、static方法:

成員方法分為靜態方法和例項方法,用static修飾的叫靜態方法或類方法,它也是靜態變數的一種,不需要建立類的例項,就可以直接通過類名訪問。

a:靜態方法可訪問的內容:由於靜態方法不需要通過它的類的任何例項就會被呼叫,因此靜態方法中不能使用this關鍵字,不能直接訪問所屬                   類的例項變數和例項方法(因為jvm無法定位,若實在要訪問某個例項變數,則必須通過所屬類的例項進行訪問),但可以直接呼叫所屬類的

b:例項方法可訪問的內容: 未用static修飾的方法,就叫做例項方法。在例項方法中可實際訪問所屬類的靜態變數、靜態方法、例項變數和實 例方法。

c:靜態方法必須實現:靜態方法用於表示某個類所特有的功能,該功能的實現不依賴於類的具體例項,也不依賴於它的子

類,所以當前類必 須為靜態方法提供實現。

<3>、static塊:靜態**塊。類中可以包含靜態**塊,它不存在於任何方法體中。

在jvm載入類時會執行這些靜態**塊。若類中包含多個靜態塊時,那麼jvm將按照它們在類中出現的順序 依次執行它們,每個靜態**塊   只會被執行一次。

類的構造方法用於初始化類的例項,而類的靜態**塊則可用於初始化類,給類的靜態變數賦初始值

java常見的修飾符總結

一 關於final 1 修飾變數,如果是基本型別表示該變數的值不能修改 如果是引用型別表示該變數不能指向別的物件。2 修飾類,表示該類不能被繼承 3 修飾方法,表示該方法不能被重寫。二 關於訪問修飾符 1 公開訪問級別 使用public關鍵字修飾。用public關鍵字修飾的成員對外公開,即公開成員可...

Java修飾符總結

訪問許可權修飾符 1.public 共有訪問,對所有類都可見 2.protected 保護型訪問。對同乙個包可見,對不同包的子類可見 3.default 預設訪問許可權。只對同乙個包可見,對不同包的子類不可見 3.private 私有訪問。只對同乙個類可見,其餘都不見 非訪問許可權修飾符 1.sta...

Java 修飾符總結

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