Day07——Java新手學習
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之間)
相關文章
- Day04——Java新手學習Java
- 新手應該如何學習JAVAJava
- Day02——Java新手學習Java
- Java新手學習Java專案打日誌Java
- Java新手學習路線,0基礎學習Java怎樣效率更高?Java
- Java新手入門學習路線圖Java
- 傳智黑馬python基礎學習——day07Python
- 新手學習Java,如何快速從入門到精通!Java
- 新手Java學習路線乾貨教材 《Java Web開發實戰》JavaWeb
- 如何入門java(附帶新手推薦學習資料)Java
- 新手學習Java需要了解的幾個知識點!Java
- 新手學習的法則
- 靈雪的java修煉之路day07Java
- 新手java如何自學,java大神的自學路線Java
- Day07
- JavaScript新手入門學習系列JavaScript
- 新手怎麼學習Java?千鋒Java進階全套影片合集助你升職加薪Java
- 0基礎新手該如何學習Python?學習技巧!Python
- java學習之道 --- 如何學習java?Java
- 0基礎新手該如何學習Python?分享學習技巧!Python
- 新手學習laravel踩坑記錄Laravel
- 給新手學習MySQL的建議MySql
- 如何學習Python,新手如何入門Python
- 新手如何學習Python基礎?該如何正確學習呢?Python
- laravel版本更新特快,新手該如何學習Laravel
- day07 指標指標
- 從Java新手到大神需要學哪些知識?Java
- 新手參加java培訓都學什麼Java
- Java學習Java
- Linux新手入門怎麼學?如何學習好Linux?Linux
- 適合新手的Java學習路線圖,從零到一系統掌握Java知識點Java
- Java學習自學Java
- vue難不難?新手學習多久能上手?Vue
- Android輸入法開發 新手學習指引Android
- ES6新手學習知識點整理
- 強烈推薦Python新手學習之——字典Python
- 深度學習框架新手快速上手指南深度學習框架
- 【機器學習】新手必看的十種機器學習演算法機器學習演算法