java筆記之靜態修飾附和單例設計模式

 

                           第六天筆記java

靜態修飾符static:設計模式

.static修飾成員變量:jvm

  1. static用來修飾成員變量叫靜態成員變量,沒有static修飾的成員變量叫非靜態成員變量
  2. 靜態成員的訪問方式:

(1)   用對象進行訪問:對象名.變量名函數

(2)   經過類名來訪問:類名.變量名;工具

  1. 使用注意點:

(1)   只有須要數據共享才須要用static修飾this

        //公有屬性
        String name;
        //這個變量就變成了一個共享數據 ,單獨存放在一個地方
        static String country;//變量只會初始化一次。在內存中值存在一個。設計

(2)   只有靜態變量才能用類名調用,非靜態變量只能經過對象調用對象

(3)   局部變量不容許被static修飾內存

 

.Static用來修飾方法get

  1.訪問方式:

 (1) 用對象進行訪問:對象名.方法名

(2)經過類名來訪問:類名.方法名; 推薦使用

   public static void eat (){
    
        System.out.println(country+"正在吃飯");
    }

2.使用注意點:

   (1)靜態方法能夠用對象和類名調用.非靜態方法只能用對象來調用.

      (2)靜態方法是能夠訪問靜態的成員變量,不可以訪問非靜態的成員變量, 非靜態方法中能夠訪問任何成員變量。

        緣由:有可能靜態方法被調用了,可是對象尚未被建立出來。

      (3)靜態方法能夠直接訪問靜態方法,可是不能訪問非靜態方法.非靜態方法是能夠訪問靜態方法。

         緣由:有可能靜態方法被調用了,可是對象尚未被建立出來。

(4)   靜態方法中是不容許出現this關鍵字和super關鍵字

    3. 什麼狀況下使用static來修飾方法:

                     當一個方法不須要直接訪問非靜態數據,這個時候就能夠用static修飾 (定義工具類)

     4.特色 : 靜態的數據早於非靜態的數據存在內存中。

 .靜態代碼塊:

   編譯的java.class文件被使用的時候就執行了.

 

權限修飾符:

  1. public: 公共的,公開的 權限是最大的,任何在任何狀況下均可以調用
  2. private :私有的,權限是最小的 只能本身本類中訪問
  3. protected :受保護的。
  4. 主函數爲何這樣定義:

(1)   爲何用public: main主方法是由jvm來調用的,jvm實際也是一個程序,爲了保證jvm可以在任何狀況下來調用主函數。

(2)   Static: 若是沒有static 這個時候調用主方法就須要經過對象來調用,jvm若是建立對象不知道該傳遞什麼參數 因此爲例避免麻煩,就將方法定義成靜態的,這個時候就不須要考慮對象,直接類名調用就能夠了。

(3)   Void: main是由jvm調用,返回值是給jvm ,jvm接收返回值沒有任何意義,因此就不須要返回值。

(4)   Main: 不是關鍵字,main以及約定好這個就叫入口

(5)   Args: 用來接收程序運行時傳遞進來的參數。

 

單例設計模式:

   1.單例設計模式 : 一個類只可以建立一個對象出來.

    2.單例的設置步驟:

              (1)建立一個對象把他設置爲私有的靜態成員變量,保證對象惟一

           private static 類名 對象名 = new 類名();

(2)把構造方法設置爲私有的,防止new一個對象。

 private 類名(){}

(3)   定義一個公  開的靜態方法,返回值爲上面的對象。

public static 返回值類型 getInstance (){

 

         return 對象名;

  }

     3.2種單例模式:餓漢單例模式和懶漢單例模式.

相關文章
相關標籤/搜索