學習日記---java

1.構造函數多線程

  構造函數:首字母大寫;對象建立時,就會調用與之對應的構造函數,對對象進行初始化。 只調用一次。jvm

  通常函數:對象建立後,須要函數功能時才調用。能夠屢次調用。首字母小寫。函數

  構造函數--重載:方法名相同,參數不一樣。this

  *構造函數能夠直接調用通常函數,通常函數不能調用構造函數,由於構造函數是用來初始化對象的。spa

2.this關鍵字線程

  當成員變量和局部變量重名,用this區分。
對象

  this表明當前對象;所在函數所屬對象的引用。
繼承

  構造函數中調用構造函數:
生命週期

    Person(String name){內存

      this.name = name;

    }

    Person(String name,int age){

      this(name);

      this.age = age;

    }

    *this用於在構造函數中調用其餘構造函數,只能定義在構造函數的第一行,由於初始化動做要先執行。

 3.static關鍵字修飾符

  static特色:

    1.static用於修飾成員(變量,函數)

    2.static修飾的成員被全部的對象共享。

    3.static優先於對象存在,由於static的成員隨着類的加載就已經存在了。

    4.static修飾的成員,能夠直接被類名調用(格式:類名。靜態成員)

    5.static修飾的數據是共享數據,對象中存在的是特有數據。

  成員變量和靜態變量(static修飾的變量)的區別:

    1. 生命週期不一樣

      成員變量隨着對象的建立而存在,隨着對象的回收被釋放。

      靜態變量隨着類的加載而存在, 隨着類的消失而消失。

    2.調用方式不一樣

      成員變量只能被對象調用。

      靜態變量能夠被對象調用,還能夠被類名調用。

    3.別名不一樣

      成員變量也稱爲實例變量。

      靜態變量稱爲類變量。

      4.數據存儲位置不一樣。

      成員變量數據存儲在堆內存的對象中,因此也叫對象的特有數據。

      靜態變量數據存儲在方法區(共享數據區)的靜態區中,因此也叫對象的共享數據。

   static使用注意事項:

    1.靜態方法只能訪問靜態成員(變量,函數)。

    2.靜態方法中不能夠使用this或者super關鍵字。

    3.主函數是靜態的。

   static靜態代碼塊

    隨着類的加載而執行,並且只執行一次。

    做用:用於給類進行初始化。

    static{

      system.out.pringln("static--------執行!");

    }

 4.構造代碼塊

  能夠給全部對象進行初始化。

  {

    system.out.println("----------------執行!");

  }

 執行順序: 靜態代碼塊先執行,有對象, 構造代碼塊執行, 最後構造函數執行。

 

5.多線程

  好處:解決了大部分應用同時運行的問題。

  弊端:線程多, 效率低。

  jvm啓動時, 就啓動了多個線程。

  1.執行main函數的線程

  2.負責垃圾回收的線程

   建立線程:一:繼承Thread
        1. 繼承Thread類
        2. 覆蓋Run方法。
        3. 直接廠家Thread的子類對象建立線程
        4. 調用start方法開啓線程並調用線程的run方法執行
        能夠經過Thread的getName()獲取線程的名稱  Thread-編號(從0開始)

相關文章
相關標籤/搜索