Java基礎——常用修飾符分析__Java

來源:互聯網
上載者:User

         在學習Java基礎時會時不時用到一些修飾符,這些修飾符修飾的內容不一樣,範圍也不一樣,只有梳理清楚才能正確的使用它們。 不同修飾符修飾內容的範圍 public

public公用的,表示該屬性(或方法)公開,所有使用者都可以直接進行調用。 default預設

default表示預設,不僅本類訪問,而且是同包可見。 private

private私人的,表示該屬性(方法)為只有本類內部可以訪問(類內部可見)。(想用private還要用set和get方法供其他方法調用,這樣可以保證對屬性的訪問方式統一,並且便於維護存取權限以及屬性資料合法性)。

如果沒有特殊情況,屬性一定私人,方法該公開的公開。

如果不指明誰調用方法,則預設為this。區分執行個體變數和局部變數時一定要寫this。 protected

protected受保護的,對於子類和同包下的類可見,就是public的,可以自由使用,沒有任何限制,而對於其他的外部class,protected就變成private。 列表對比如下:

常用修飾符修飾內容的範圍

修飾符

本類

同一包下(有無關係均可)

子類

其他包

public

protected

 

預設(default)

 

 

private

 

 

 

  不同修飾符可以修飾的內容 public、private、protected和預設default

以上幾個都可以用來修飾成員變數、成員方法和構造方法,只是有些常見,有些不常見,使用場合約定俗成。除此之外,public還可以用來修飾類本身。

下面針對一些特殊的修飾符來進行介紹。 abstract

abstract抽象的,可以修飾類、方法。

抽象類別:

abstract修飾的類稱為抽象類別,此類不能被執行個體化,必須被繼承使用,如果一個類繼承抽象類別,那麼這個類要麼本身也是抽象類別,要麼這個類重寫父類的所有抽象方法。

abstract可以將子類的共性最大限度的抽取出來,放在父類中,以提高程式的簡潔性。

抽象方法:

方法沒有方法體,且用abstract修飾。有抽象方法的類一定是抽象類別(或者介面);抽象類別中不一定有抽象方法。

注意:不能與final,private和static共存。 static

static靜態,是一個修飾符,用於修飾成員(包括成員變數和成員方法)。修飾的成員被所有的對象所共用。

被修飾後的成員具備以下特點:

①隨著類的載入而載入。

②優先於對象存在。

③被所有對象所共用。

④可以直接被類名調用。

static修飾變數的使用可參考一下《Java基礎——成員變數、局部變數和靜態變數的區別》 final

final最終的,它可以修飾類,修飾成員變數,修飾成員方法。

它修飾的類,不能被繼承。       

它修飾的成員方法,是不可以被子類重寫的。

它修飾的成員變數,其實是一個常量。

關於abstract和final的有關用法,可以參考另一篇博文《Java基礎——抽象類別和介面的關係》 列表對比如下:

常用修飾符的修飾內容

修飾符\元素

類本身

成員變數

成員方法

構造方法

public

預設

private

 

protected

 

abstract

 

 

static

 

 

final

 

 

分析以後可以看出同一內容可以由不同的修飾符來修飾,有必要找出常見的規則,如下:

所有的類都用public修飾,並且,在一個Java檔案下,我們唯寫一個類。

所有的成員變數用private修飾。

所有的成員方法用public修飾,

如果是在抽象類別或者介面中用 public abstract修飾。

所有的構造方法用public修飾,

如果類是工具類或者單例類,則構造用private修飾。

  小結

修飾符雖然多,但是基本上各司其職,會有協同的時候,同樣也會有拮抗作用。在進行不同操作的時候,使用不同的修飾符,程式才能高效有序無誤的運行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.