閱讀542 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java學習筆記,適用於零基礎的小夥伴

1. 成員變量與局部變量的區別


    1.作用域:

        成員變量的作用域是整個類中都可以訪問;

        局部變量是的作用域是定義它的{}內, {}中的語句執行完它就被回收;


    2.初始值:

        局部變量使用前必須手動賦值, 係統不會賦默認值;成員變量係統會賦默認初始值.


    3.所在內存區域:

        局部變量在方法運行的棧內存裏,在棧裏,會自動釋放;

        成員變量在對象裏,對象在堆裏,成員變量也在堆裏,不使用的對象會被垃圾回收機製在不確定的時候回收.


1000


2.  匿名對象的使用


(1)當對對象中的功能隻執行一次的時候使用。

(2)用於作為實際參數進行傳遞。

    (3)可以用匿名對象調用屬性, 沒意義.


3. 封裝


    (1)封裝的好處:便於重複使用,安全性高。

    (2)private(私有的)權限修飾符。



4. private(私有)


    private修飾成員變量和成員不能在其他類中直接訪問.


注意:私有僅僅是封裝的一種體現形式, 封裝是一種思想, 就是將具體實現隱藏,僅對外暴露訪問方式.


5. 構造方法


    (1)用途:用於給對象中屬性進行初始化。

        A:格式   類名(){code}Person(){}

        B:Person(){}publicPerson(){}


    (2)特點 不定義空參構造,係統會自動給一個空參構造,定義了構造方法無論是有參還空參的,係統就不再給空參數的了。


    (3)重載構造方法,是根據參數列表來區分是哪個構造方法。

如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裏麵可以學習和交流,也有學習資料可以下載。


6.this關鍵字


    每個對象都有一個指向自己的指針,就this。


7.this的作用


    1.在方法中區分成員變量和局部變量.this.成員變量;

    2.this語句可以在構造方法裏調用其他構造方法;

    3.在一個方法中,this可以調用本類的其他方法,可以省略:


        (1)代表當前對象的引用。使用的時候,誰調用方法,this就代表誰。

        (2)什麼時候使用this呢?

           A:當局部變量和成員變量重名的時候,可以用this進行區分。

           B:this調用成員方法
            C:this調用本類其他構造, 注意必須放在構造方法第一行。


代碼如下:


1000

1000


運行結果:



8.創建對象在內存中的詳細步驟: Person p = newPerson();


    1.主方法進棧,給類類型變量p分配空間

    2.在堆內存中開辟空間,分配內存地址
    3.在堆內存中建立對象特有屬性,並進行默認初始化
    4.對屬性進行顯式初始化
    5.將內存地址賦給棧內存中的p變量


9.static(靜態)特點


    隨著類的加載而加載,隨著類的消失而消失。優先於對象。靜態可以被所有對象共享,也可以被類名所調用。


1000


10.方法區


    方法區是各個線程所共享的內存區域,它用於存儲已被虛擬機加載的類信息,常量,靜態變量,即時編譯器編譯後的代碼等數據.

局部代碼塊&構造代碼塊&靜態代碼塊:


    局部代碼塊:

        作用:控製變量的生命周期

     構造代碼塊:

        作用:它可以給所有對象進行初始化,存在於類中。當類中的構造方法以重載的形式存在時,並且有共同成員變量或共同的方法時,可以通過構造代碼塊對其進行初始化;這樣可以減少代碼的重複。

    靜態代碼塊:

        作用:加載驅動器。當類中的方法都被靜態化,並且構造方法被private了,這時我們不能,在將這個類實例化,然而又想讓類增加一些屬性,就可以使用靜態代碼塊。

1000

1000

11.靜態的使用


      
類的成員用static修飾後,就多了一種調用方式,原來對象名.成員可以繼續調用,現在,通過類名.成員,也可以調用.


類在什麼時候加載?

在第一次使用的時候加載,而後就常駐內存.




12. 單例設計模式應用


讓內存中某個類型的對象隻能同時存在一個.

1000

1000

1000

1000


13.final關鍵字


    final可以修飾類,方法,變量。final修飾的類不可以被繼承。final修飾的方法不可以被覆蓋。final修飾的變量是一個常量, 隻能被賦值一次。


14.final和private區別


    final修飾的類可以訪問。

private不可以修飾外部類,但可以修飾內部類,講內部類的時候會演示

final和private修飾的方法子類無法重寫, final不允許重寫, private重寫不了.

   final修飾的變量隻能在顯示初始化或者構造方法初始化的時候賦值一次,以後不能更改。
   private修飾的變量,也不允許直接被子類或一個包中的其它類訪問或修改,但是他可以通過set和get方法對其改值和取值。

最後更新:2017-08-13 22:53:53

  上一篇:go  阿裏雲服務python SDK的使用
  下一篇:go  作為Python學習者你應該知道的Python常用技巧