靜態修飾符 權限修飾符 設計模式 面向對象

一. 靜態修飾符

1.static叫靜態修飾符

2.用來修飾這個成員變量

      一個成員變量被static就叫靜態成員變量,若是沒有修飾非靜態成員變量。java

      靜態成員變量的訪問方式:設計模式

      靜態變量的訪問方式:安全

            1.用對象進行訪問:mvc

                  對象名.變量名框架

            2.還能夠經過類名來訪問jvm

                  類名.變量名。函數

       使用注意點:工具

            1.千萬不要認爲方便就將全部的變量都用static修飾,只有當數據真正須要共享是才須要用static修飾。                               學習

            2.只有靜態變量才能用類名方位,非靜態變量只能用對象訪問。this

            3.局部變量不容許被static修飾。

3.用來修飾方法

       static 來修飾方法 :

       有點相似OC中的類方法 :

            1.只能用類名來調用

            2.類中是不容許訪問屬性。

       訪問方式:

             1.能夠經過對象來訪問

                   對象.方法名();

             2.能夠經過類名來訪問

                    類.方法名();

                推薦使用類名調用。

4.static修飾方法的使用注意點:

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

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

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

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

              緣由:有可能靜態方法被調用了,可是對象尚未被建立出來 ,非靜態方法只能由對象調用。若是對象被建立出來,靜態方法早就存在內存中了。

       4.靜態方法中是不容許出現this關鍵字和super關鍵字this : 表示一個方法調用者對象。

               可能對象沒有被建立出來。

5.特色 :

       靜態的數據早於非靜態的數據存在內存中。

 

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

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

二. 權限修飾符

1.權限修飾符: public : 公共的,公開的 權限是最大的,任何在任何狀況下均可以調用

       private :私有的,權限是最小的 只能本身本類中訪問

       protected :受保護的。

2.主函數爲何這麼來定義

       爲何用public :

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

       static :

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

       void:

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

       main :

             不是關鍵字,main以及約定好這個就叫入口

       args :

             用來接收程序運行時傳遞進來的參數。

三.設計模式

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

2.軟件行業中設計模式有23中

      可能在java學習中會講到以下設計模式:

           1.單例設計模式

           2.觀察者設計模式

           3.模塊設計模式(mvc)

           4.裝飾設計模式

           5.工廠模式

3.設計模式 : 用來解決同一類問題的解決方案(固定的步驟)

       單例的設置步驟:

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

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

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

4. 餓漢單例設計模式

        保證對象惟一

        聲明本類的引用變量, 而且把對象建立出來

        私有化構造方法 ,防止經過new來建立對象

        提供一個靜態方法來接收惟一的對象

四. 面向對象

1.面向對象的三大特徵:

       1.封裝

       2.繼承

       3.多態

 

2.三大特徵之一 :封裝

       權限修飾符 :

             public : 公共的 ,public修飾的成員變量和方法任何人均可以之間訪問

             private : 私有的 ,private修飾的成員變量和方法只能在本類中訪問。

       封裝的步驟:

             1.使用private修飾須要封裝的成員變量。

             2.提供一個公開的方法設置或者訪問私有的屬性

                   設置:經過set方法

                         命名規範:

                               set屬性名();屬性的首字母要大寫

                   訪問:經過get方法

                          命名規範:

                               get屬性名();屬性的首字母要大寫

                  代碼書寫規範: java開發中通常類成員變量(屬性),都是封裝起來的。

 

3.問題:是否是全部的屬性都須要由set和get方法?

      不必定,根據需求來定。

4.封裝用於 :

              1.框架

              2.工具類。

5.封裝好處:

     1.提升了數據的安全性。

          2.操做簡單

          3.隱藏了方法的實現。

相關文章
相關標籤/搜索