修飾符, 修飾符控制范圍和使用范圍
類修飾符:public,protected,private,缺省的訪問修符,abstract,final
域的修飾符:public, protected, private, static, final, transient, volatile
方法修飾符:public, protected, private, static, final, abstract, native, synchronized
類
訪問修飾符 修飾符 class 類名稱 [extends 父類名稱 implement 接口名稱]{
成員變量定義;
構造函數定義;
成員方法定義;
}
注:訪問修飾符與修飾符的位置可以互換
類修飾符
訪問控制修飾符:Public , Protected(內部類使用), Private(內部類使用) ,缺省的訪問修飾符
抽象類修飾符:Abstract
最終類修飾符: Final
訪問控制修飾符: 名稱說明備注 名稱說明備注 名稱說明備注 Public 定義為pulbic類可以被任何包中的類所使用,不加public類只能由同一個源文件或同一個包中的類使用. 在同一個源文件中不能同時包含兩個public. public類必須在java文件中定義. Protected(內部類使用) Protected關鍵字限定類的成員僅僅可以被該類及其子類訪問。 Private(內部類使用) Private限定類的成員公能被該類的其他成員使用 有利于內部信息隱藏 缺省的訪問修飾符 缺省的訪問修飾符 缺省的訪問修飾符 抽象類修飾符: Abstract一 用此關鍵字的類是一個未完成的類,該類中只是聲明方法,但不能實現 不能用實例化對象,只能被繼承 非abstract類中含有abstract,編譯出錯 Abstract和final只能用其一 最終類修飾符: Final 不能被繼承,提高安全性,完美。Final的定義是完整的,不可以有任何的子類 Abstract和final只能用其一
域(類中的屬性或變量)
¡ [域修飾符] 類型 變量[=初始值][,變量]
變量: |
成員變量 |
局部變量 |
|
定義 |
在類中定義的變量 |
方法中定義的變量以及方法的參數 |
|
可分為: |
實例變量(類中的非靜態變量) 類變量(類中的靜態變量)static |
||
初始化器 |
{} Static{} |
無 |
|
類型: |
兩都都可以使用java中的任意類型(如:int,boolean,float…) |
||
作用范圍: |
整個類類中有效 |
只在定義它的方法中有效 |
|
修飾符: |
有訪問修飾符 |
無 |
|
初始化: |
可心不初始化(null(引用類型)或者0、false) |
必須初始化 |
|
注: |
1.如果局部變量的名字與成員變量的名字相同,則成員變量將在方法中被隱藏 |
||
當你需要使用成員變量時,可采用關鍵字(this),但在static方法中不能使用this,supper關建字。 |
域修飾符
名稱 |
說明 |
備注 |
訪問控制修飾符 |
||
public |
可以被任何類訪問 |
|
protected |
可以被同一包中的所有類訪問 可以被所有子類訪問 |
子類沒有在同一包中也可以訪問 |
Private |
只能夠被當前類的方法訪問 |
|
缺省 無訪問修飾符 |
可以被同一包中的所有類訪問 |
如果子類沒有在同一個包中,也不能訪問 |
靜態域修飾符 |
||
static |
靜態變量(又稱為類變量,其它的稱為實例變量) |
可以被類的所有實例共享。 并不需要創建類的實例就可以訪問靜態變量 |
最終域修飾符 |
||
Final |
常量,值只能夠分配一次,不能更改 |
注意不要使用const,雖然它和C、C++中的const關鍵字含義一樣 可以同static一起使用,避免對類的每個實例維護一個拷貝 |
其它修飾符 |
||
Transient |
告訴編譯器,在類對象序列化的時候,此變量不需要持久保存 |
主要是因為改變量可以通過其它變量來得到,使用它是為了性能的問題 |
volatile |
指出可能有多個線程修改此變量,要求編譯器優化以保證對此變量的修改能夠被正確的處理 |
方法
訪問修飾符 修飾符 返回類型 方法名稱(參數列表)throws 違例列表
¡ 類的構造器方法不能夠有修飾符、返回類型和throws子句
¡ 類的構造器方法被調用時,它首先調用父類的構造器方法,然后運行實例變量和靜態變量的初始化器,然后才運行構造器本身。
¡ 如果構造器方法沒有顯示的調用一個父類的構造器,那么編譯器會自動為它加上一個默認的super(),而如果父類又沒有默認的無參數構造器,編譯器就會報錯。super必須是構造器方法的第一個子句。
¡ 注意理解private構造器方法的使用技巧。
方法的修飾符
¡ 訪問控制修飾符 :Public , protected ,缺省
無訪問修飾符
¡ 靜態方法修飾符 :static
¡ 最終方法修飾符 :Final
¡ 抽象方法修飾符 :Abstract
¡ 本地方法修飾符 : Native
¡ 同步方法修飾符 :synchronized
訪問修飾符 |
本類 |
同一包中的類 |
不同包中的類 |
Public |
? |
?* |
?* |
Private |
? |
||
Protected |
? |
?* |
* |
缺省 |
? |
?* |
|
?可訪問 *可繼承 |
修飾符的使用范圍
修飾符 |
類 |
方法 |
變量 |
Final |
Y |
Y |
Y |
Abstract |
Y |
Y |
N |
Static |
N |
Y |
Y |
Native |
N |
Y |
N |
Transient |
N |
N |
Y |
Volatile |
N |
N |
Y |
synchronized |
N |
Y |
N |
綜合實例
• BedeckDome.java類:
• 類Test.java(未完)
呵呵
我好像懂得太少了