JAVA學習第一篇(基礎知識下)

1.JAVA支持的變量類型:

  • 類變量:獨立於方法之外的變量,使用Static修飾;
  • 局部變量:方法中的變量;
  • 實例變量:獨立於方法之外的變量,但是沒有使用Static修飾;
  • 局部變量是在棧上分配的,局部變量沒有默認值,所以在創建的時候必須要初始化;
  • 實例變量具有默認值在初始化實例的時候,實例變量的值便會同步被初始化。
  • 修飾符通常放在類,變量,方法的最前面。

2.訪問控制修飾符

  • default:缺省類型,在同一包內可見,不實用任何修飾符;
  • private:在同一類內可見,不能修飾類;
  • public:對所有類都可見;
  • protected:在同一包內的所有類和子類可見。不能修飾類;
  • 父類中聲明爲 public 的方法在子類中也必須爲 public。
  • 父類中聲明爲 protected 的方法在子類中要麼聲明爲 protected,要麼聲明爲 public,不能聲明爲 private。
  • 父類中聲明爲 private 的方法,不能夠被繼承。

3.非訪問修飾符

  • static:用來修飾類方法和類變量。
  • final:用來修飾類、方法和變量,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變量爲常量,是不可修改的。
  • abstract:用來創建抽象類和抽象方法。
  • synchronized 和 volatile 修飾符,主要用於線程的編程。
  • abstract,抽象類,聲明抽象類的唯一目的是爲了將來對該類進行擴展,抽象類可以不包含抽象方法,但是包含抽象方法的類必須爲抽象類。
  • synchronized 關鍵字聲明的方法同一時間只能被一個線程訪問。
  • volatile :volatile 修飾的成員變量在每次被線程訪問時,都強制從共享內存中重新讀取該成員變量的值。而且,當成員變量發生變化時,會強制線程將變化值回寫到共享內存。這樣在任何時刻,兩個不同的線程總是看到某個成員變量的同一個值

4.對象類型

  • String:定義爲字符串的常量,不能被修改;
  • StringBuffer和StringBuilder定義字符串的變量,可以被多次修改並且公用同一塊內存空間,但是StringBuilder不是線程安全的,他的訪問速度比StringBuffer快很多,不能同歩訪問。

5.方法的定義

    修飾符 返回值類型 方法名(參數類型 參數名){
    ...
    方法體
    ...
    return 返回值;
    }
  • 方法重載:方法名相同,但是包含的參數不相同,調用的時候,編譯器會根據參數來決定具體使用哪個方法,這就是方法重載;
  • 構造方法和他所在的類的名稱相同;
  • finalize方法:在對象被垃圾回收機制析構之前調用,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章