Day07——Java新手學習

小城小發表於2019-02-25

07.01構造方法Constructor概述和格式
* A:構造方法概述和作用
    * 給物件的資料(屬性)進行初始化
* B:構造方法格式特點
    * a:方法名與類名相同(大小也要與類名一致)
    * b:沒有返回值型別,連void都沒有
    * c:沒有具體的返回值return;

07.02構造方法的過載及注意事項
* A:案例演示
    * 構造方法的過載
    * 過載:方法名相同,與返回值型別無關(構造方法沒有返回值),只看引數列表
* B:構造方法注意事項
    * a:如果我們沒有給出構造方法,系統將自動提供一個無參構造方法。
    * b:如果我們給出了構造方法,系統將不再提供預設的無參構造方法。
        * 注意:這個時候,如果我們還想使用無參構造方法,就必須自己給出。建議永遠自己給出無參構造方法


        
07.03給成員變數賦值的兩種方式的區別
* A:setXxx()方法
    * 修改屬性值 
* B:構造方法
    * 給物件中屬性進行初始化 

07.04學生類的程式碼及測試
* A:案例演示
    * 學生類:
        * 成員變數:
            * name,age
        * 構造方法:
            * 無參,帶兩個參
        * 成員方法:
            * getXxx()/setXxx()
            * show():輸出該類的所有成員變數值
* B:給成員變數賦值:
    * a:setXxx()方法
    * b:構造方法
    
* C:輸出成員變數值的方式:
    * a:通過getXxx()分別獲取然後拼接
    * b:通過呼叫show()方法搞定

07.05手機類的程式碼及測試
* A:案例演示
    * 模仿學生類,完成手機類程式碼

07.06建立一個物件的步驟
* A:畫圖演示
    * 畫圖說明一個物件的建立過程做了哪些事情?
    * Student s = new Student();
    * 1,Student.class載入進記憶體
    * 2,宣告一個Student型別引用s
    * 3,在堆記憶體建立物件,
    * 4,給物件中屬性預設初始化值
    * 5,屬性進行顯示初始化
    * 6,構造方法進棧,對物件中的屬性賦值,構造方法彈棧
    * 7,將物件的地址值賦值給s

7.07長方形案例練習
* A:案例演示
    * 需求:
        * 定義一個長方形類,定義 求周長和麵積的方法,
        * 然後定義一個測試類進行測試。

07.08員工類案例練習
* A:案例演示
    * 需求:定義一個員工類Employee
    * 自己分析出幾個成員,然後給出成員變數
        * 姓名name,工號id,工資salary 
    * 構造方法,
        * 空參和有參的
    * getXxx()setXxx()方法,
    * 以及一個顯示所有成員資訊的方法。並測試。
        * work 

07.09static關鍵字及記憶體圖
* A:案例演示
    * 通過一個案例引入static關鍵字。
    * 人類:Person。每個人都有國籍,中國。

* B:畫圖演示
    * 帶有static的記憶體圖


 
07.10static關鍵字的特點
* A:static關鍵字的特點
    * a:隨著類的載入而載入
    * b:優先於物件存在
    * c:被類的所有物件共享
        * 舉例:我們們班級的學生應該共用同一個班級編號。
        * 其實這個特點也是在告訴我們什麼時候使用靜態?
            * 如果某個成員變數是被所有物件共享的,那麼它就應該定義為靜態的。
        * 舉例:
            * 飲水機(用靜態修飾)
            * 水杯(不能用靜態修飾)
            * 共性用靜態,特性用非靜態
    * d:可以通過類名呼叫
        * 其實它本身也可以通過物件名呼叫。
        * 推薦使用類名呼叫。
        * 靜態修飾的內容一般我們稱其為:與類相關的,類成員
* B:案例演示
    * static關鍵字的特點


07.11static的注意事項
* A:static的注意事項
    * a:在靜態方法中是沒有this關鍵字的
        * 如何理解呢?
            * 靜態是隨著類的載入而載入,this是隨著物件的建立而存在。
            * 靜態比物件先存在。
    * b:靜態方法只能訪問靜態的成員變數和靜態的成員方法
        * 靜態方法:
            * 成員變數:只能訪問靜態變數
            * 成員方法:只能訪問靜態成員方法
        * 非靜態方法:
            * 成員變數:可以是靜態的,也可以是非靜態的
            * 成員方法:可是是靜態的成員方法,也可以是非靜態的成員方法。
        * 簡單記:
            * 靜態只能訪問靜態。
* B:案例演示
    * static的注意事項

07.12靜態變數和成員變數的區別
* 靜態變數也叫類變數  成員變數也叫物件變數
* A:所屬不同
    * 靜態變數屬於類,所以也稱為為類變數
    * 成員變數屬於物件,所以也稱為例項變數(物件變數)
* B:記憶體中位置不同
    * 靜態變數儲存於方法區的靜態區
    * 成員變數儲存於堆記憶體
* C:記憶體出現時間不同
    * 靜態變數隨著類的載入而載入,隨著類的消失而消失
    * 成員變數隨著物件的建立而存在,隨著物件的消失而消失
* D:呼叫不同
    * 靜態變數可以通過類名呼叫,也可以通過物件呼叫
    * 成員變數只能通過對 象名呼叫

 

07.13main方法的格式詳細解釋
* A:格式
    * public static void main(String[] args) {}
* B:針對格式的解釋
    * public 被jvm呼叫,訪問許可權足夠大。
    * static 被jvm呼叫,不用建立物件,直接類名訪問
    * void被jvm呼叫,不需要給jvm返回值
    * main 一個通用的名稱,雖然不是關鍵字,但是被jvm識別
    * String[] args 以前用於接收鍵盤錄入的
* C:演示案例
    * 通過args接收鍵盤例如資料

07.14工具類中使用靜態
* A:製作一個工具類
    * ArrayTool
    * 1,獲取最大值
    * 2,陣列的遍歷
    * 3,陣列的反轉
    

07.15說明書的製作過程
* A:對工具類加入文件註釋
* B:通過javadoc命令生成說明書
    * @author(提取作者內容)
    * @version(提取版本內容)
    * javadoc -d 指定的檔案目錄 -author -version ArrayTool.java
    * @param 引數名稱//形式引數的變數名稱@return 函式執行完返回的資料

07.16如何使用JDK提供的幫助文件
* A:找到文件,開啟文件
* B:點選顯示,找到索引,出現輸入框
* C:你應該知道你找誰?舉例:Scanner
* D:看這個類的結構(需不需要導包)
    * 成員變數    欄位
    * 構造方法    構造方法
    * 成員方法    方法

07.17學習Math類的隨機數功能
* 開啟JDK提供的幫助文件學習
* A:Math類概述
    * 類包含用於執行基本數學運算的方法
* B:Math類特點
    * 由於Math類在java.lang包下,所以不需要導包。
    * 因為它的成員全部是靜態的,所以私有了構造方法
* C:獲取隨機數的方法
    * public static double random():返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。
* D:我要獲取一個1-100之間的隨機數,腫麼辦?
    * int number = (int)(Math.random()*100)+1;


    
07.18猜數字小遊戲案例
* A:案例演示
    * 需求:猜數字小遊戲(資料在1-100之間)

相關文章