1. 程式人生 > >Java中的類修飾符

Java中的類修飾符

之前每次寫小測試程式的時候,總是把一個類放在一個Java檔案中,按理說這樣比較規範,可主要原因是我是在不知道怎麼在一個檔案裡放多個類,可見java基礎有多差了。。。只要把類的屬性改成預設的就可以了,也就是前面什麼控制符都不加,採用預設的方式。

    Java語言程式設計中,定義類時除了要使用class 關鍵字說明所定義的資料型別是類,還可以在 class 之前增加若干類的修飾符來限定所定義類的操作特性,說明類的屬性。

    類的修飾符分為:可訪問控制符非訪問控制符兩種。

    可訪問控制符是: 公共類修飾符 public

    非訪問控制符有:抽象類修飾符 abstract

    最終類修飾符:final

不加修飾符的時候 即直接宣告 class A{ }

在這種情況下,class前面沒有加任何的訪問修飾符,通常稱為“預設訪問模式”,在該模式下,這個類只能被同一個包中的類訪問或引用,這一訪問特性又稱包訪問性。

公共類的修飾符 public

    一個java的原始檔中,規定最多隻能有一個public 類,當然也可以一個都沒有。如果有public公共類,則規定檔名只能public 公共類的類名稱一致,若是沒有,則檔名可以任意。作為一個java程式的入口(javaSE)的類必須為public類。

    所謂公共類是指這個類可以被所有的其它類或其它包中的類訪問和引用,也就是說這個類作為一個整體,是可見的、可以使用的,程式的其它部分可以建立這個類的物件、訪問這個類內部公共的 (用可訪問控制符 public 定義的 )變數和方法。

    哪些類應定義為公共類呢?

   (1)個Java程式的主類都必須定義為公共類,用 public 修飾;

   (2)作為公共工具供其它類和程式使用的類應定義為公共類,用 public 修飾。

抽象類修飾符 abstract

    凡是用修飾符 abstract修飾的類,被稱為抽象類。介面是一個100%的純抽象類。

最終類修飾符 final

    當一個類不可能有子類時(final類是不可以被繼承的)可以用修飾符 final把它說明為最終類。

被定義為 final類通常是一些有固定作用、用來完成某種標準功能的類。如Java系統定義好的用來實現網路功能的InetAddress、Socket等類都是 final類。

    如果把有繼承關係的類用樹表示出來,不難看到樹的葉結點應該被定義為final最終類。

將一個類定義為 final 類。就可以把它的屬性和功能固定下來,與它的類名形成穩定的對映關係,從而保證引用這個類時所實現的功能正確無誤。

    注意:修飾符abstract和修飾符final 不能同時修飾同一個類,因為abstract類是沒有具體物件的類,它必須有子類,即就是是用來被繼承的;而 final類是不可能有子類的類,所以用abstract和final修飾同一個類是無意義的。