修飾符, 修飾符控制范圍和使用范圍
     類修飾符:public,protected,private,缺省的訪問修符,abstract,final

域的修飾符:public, protected, private, static, final, transient, volatile

     方法修飾符:public, protected, private, static, final, abstract, native, synchronized

訪問修飾符  修飾符  class 類名稱 [extends 父類名稱 implement 接口名稱]{

成員變量定義;

構造函數(shù)定義;

成員方法定義;

}

:訪問修飾符與修飾符的位置可以互換

類修飾符

訪問控制修飾符:Public , Protected(內部類使用), Private(內部類使用) ,缺省的訪問修飾符 

抽象類修飾符:Abstract 

最終類修飾符: Final

訪問控制修飾符:

名稱說明備注

名稱說明備注

名稱說明備注

Public

定義為pulbic類可以被任何包中的類所使用,不加public類只能由同一個源文件或同一個包中的類使用.

在同一個源文件中不能同時包含兩個public.

public類必須在java文件中定義.

Protected(內部類使用)

Protected關鍵字限定類的成員僅僅可以被該類及其子類訪問。

Private(內部類使用)

Private限定類的成員公能被該類的其他成員使用

有利于內部信息隱藏

缺省的訪問修飾符

缺省的訪問修飾符

缺省的訪問修飾符

抽象類修飾符:

Abstract

用此關鍵字的類是一個未完成的類,該類中只是聲明方法,但不能實現(xiàn)

不能用實例化對象,只能被繼承

abstract類中含有abstract,編譯出錯

Abstractfinal只能用其一

最終類修飾符:

Final

不能被繼承,提高安全性,完美。Final的定義是完整的,不可以有任何的子類

Abstractfinal只能用其一

域(類中的屬性或變量) 

¡      [域修飾符] 類型 變量[=初始值][,變量]
 

變量:

成員變量

局部變量

定義

在類中定義的變量

方法中定義的變量以及方法的參數(shù)

可分為:

實例變量(類中的非靜態(tài)變量)

類變量(類中的靜態(tài)變量)static

初始化器

{}

Static{}

類型:

兩都都可以使用java中的任意類型(如:int,boolean,float…

作用范圍:

整個類類中有效

只在定義它的方法中有效

修飾符:

有訪問修飾符

初始化:

可心不初始化(null(引用類型)或者0false)

必須初始化

注:

1.如果局部變量的名字與成員變量的名字相同,則成員變量將在方法中被隱藏

當你需要使用成員變量時,可采用關鍵字(this,但在static方法中不能使用this,supper關建字。


域修飾符
 

名稱

說明

備注

訪問控制修飾符

public

可以被任何類訪問

protected

可以被同一包中的所有類訪問

可以被所有子類訪問

子類沒有在同一包中也可以訪問

Private

只能夠被當前類的方法訪問

缺省

無訪問修飾符

可以被同一包中的所有類訪問

如果子類沒有在同一個包中,也不能訪問

靜態(tài)域修飾符

static

靜態(tài)變量(又稱為類變量,其它的稱為實例變量)

可以被類的所有實例共享。

并不需要創(chuàng)建類的實例就可以訪問靜態(tài)變量

最終域修飾符

Final

常量,值只能夠分配一次,不能更改

注意不要使用const,雖然它和CC++中的const關鍵字含義一樣

可以同static一起使用,避免對類的每個實例維護一個拷貝

其它修飾符

Transient

告訴編譯器,在類對象序列化的時候,此變量不需要持久保存

主要是因為改變量可以通過其它變量來得到,使用它是為了性能的問題

volatile

指出可能有多個線程修改此變量,要求編譯器優(yōu)化以保證對此變量的修改能夠被正確的處理

方法

訪問修飾符 修飾符 返回類型 方法名稱(參數(shù)列表throws 違例列表

¡        類的構造器方法不能夠有修飾符、返回類型和throws子句

¡         類的構造器方法被調用時,它首先調用父類的構造器方法,然后運行實例變量和靜態(tài)變量的初始化器,然后才運行構造器本身。

¡        如果構造器方法沒有顯示的調用一個父類的構造器,那么編譯器會自動為它加上一個默認的super(),而如果父類又沒有默認的無參數(shù)構造器,編譯器就會報錯。super必須是構造器方法的第一個子句。

¡        注意理解private構造器方法的使用技巧。 

方法的修飾符

¡        訪問控制修飾符 :Public , protected ,缺省

無訪問修飾符

¡        靜態(tài)方法修飾符 :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(未完)