資料主要來源於網絡(http://60.28.60.3/zy/java-new/zhishidian/chap3/3.htm)
之前每次寫小測試程序的時候,總是把一個類放在一個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修飾同一個類是無意義的。