java修飾符

java的修飾符有:權限修飾符:public、protected、default、private
                修飾符:abstract、static、final

    public   使用對象:最廣,類、接口、變量、方法
    protected使用對象:變量、方法 注意:不能修飾類(外部類)
    default  使用對象:類、接口、變量、方法。(即缺省,什麼也不寫)
    private  使用對象:變量、方法 注意:不能修飾類(外部類)

    abstract使用對象:類、接口、方法
    static  使用對象:類、變量、方法、初始化函數(注意:修飾類時只能修飾 內部類 )
    final   使用對象:類、變量、方法

    transient:告訴編譯器,在類對象序列化的時候,此變量不需要持久保存
    volatile:指出可能有多個線程修改此變量,要求編譯器優化以保證對此變量的修改能夠被正確的處理

    native:用該修飾符定義的方法在類中沒有實現,而大多數情況下該方法的實現是用C、C++編寫的。
    synchronized:修飾方法,多線程的支持


類分外部類和內部類,他們的訪問控制是相同的嗎
   外部類是相對於內部類而言的,內部類是定義在類裏面的類。

外部類的修飾符有:
default(缺省,不寫):類定義時前面未加任何修飾符,表示同一個包中可見。
public:修飾類時表示該類能被項目中所有類可見
abstract:表示是抽象類
final:表示類不可以被繼承
scrictpf:(java關鍵字) 當對一個類或接口使用 strictfp 關鍵字時,該類中的所有代碼,包括嵌套類型中的初始設定值和代碼,都將嚴格地進行計算。嚴格約束意味着所有表達式的結果都必須是 IEEE 754 算法對操作數預期的結果,以單精度和雙精度格式表示

內部類又分:成員內部類、局部內部類、靜態內部類、匿名內部類
  成員內部類:作爲外部類的一個成員存在,與外部類的屬性、方法並列
  局部內部類:定義在外部類的方法體裏面的類
  靜態內部類:使用static修飾的內部類
  匿名內部類:就是沒有名字的內部類

成員內部類修飾符有:
public:
protected:
private:private不能修飾外部類,
abstract:
final:
static:可以當做普通類使用,而不用先實例化一個外部類。(用他修飾後,就成了靜態內部類了)
strictfp:(java關鍵字) 即 strict float point (精確浮點)。(可修飾類、接口、方法)

局部內部類:
  局部內部類就是在類內的方法中定義的類。
  局部類有一個優勢,即對外部世界完全隱藏。即使是同一個類中其他的方法也不能訪問它。
  局部類可以訪問包含它的外部類,同時也可以訪問局部變量。

  局部類不能用public或private訪問說明符進行聲明,他的作用域被限定在這個方法中,


訪問權限符與繼承:
  這裏的訪問權限修飾符指的是:修飾成員變量和方法。分兩種情況:
  1.子類與父類在同一個包中:
     此時只有private修飾的變量和方法不能被訪問。
  2.子類與父類不在同一個包中:
     此時private和default均不能被訪問,protected和public可以


接口修飾符:
  public:所有包可見
  default:(缺省)同一個包中可見
  strictfp:(java關鍵字) 即 strict float point (精確浮點)。

  接口的變量總是需要定義成:public static final 類型 名稱,但可以不用寫的這麼複雜,默認就是public static final

  接口的方法只能使用public、abstract修飾。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章