1. 程式人生 > >面向對象學習

面向對象學習

ber 數據 創建 @param work 提取 自動 方法 分析

###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

###07.07_面向對象(長方形案例練習)(掌握)

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

###07.08_面向對象(員工類案例練習)(掌握)

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

###07.09_面向對象(static關鍵字及內存圖)(了解)

  • A:案例演示

    • 通過一個案例引入static關鍵字。
    • 人類:Person。每個人都有國籍,中國。
  • B:畫圖演示
    • 帶有static的內存圖

###07.10_面向對象(static關鍵字的特點)(掌握)

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

###07.11_面向對象(static的註意事項)(掌握)

  • A:static的註意事項
    • a:在靜態方法中是沒有this關鍵字的
      • 如何理解呢?
        • 靜態是隨著類的加載而加載,this是隨著對象的創建而存在。
        • 靜態比對象先存在。
    • b:靜態方法只能訪問靜態的成員變量和靜態的成員方法
      • 靜態方法:
        • 成員變量:只能訪問靜態變量
        • 成員方法:只能訪問靜態成員方法
      • 非靜態方法:
        • 成員變量:可以是靜態的,也可以是非靜態的
        • 成員方法:可是是靜態的成員方法,也可以是非靜態的成員方法。
      • 簡單記:
        • 靜態只能訪問靜態。
  • B:案例演示
    • static的註意事項

###07.12_面向對象(靜態變量和成員變量的區別)(掌握)

  • 靜態變量也叫類變量 成員變量也叫對象變量
  • A:所屬不同
    • 靜態變量屬於類,所以也稱為為類變量
    • 成員變量屬於對象,所以也稱為實例變量(對象變量)
  • B:內存中位置不同
    • 靜態變量存儲於方法區的靜態區
    • 成員變量存儲於堆內存
  • C:內存出現時間不同
    • 靜態變量隨著類的加載而加載,隨著類的消失而消失
    • 成員變量隨著對象的創建而存在,隨著對象的消失而消失
  • D:調用不同
    • 靜態變量可以通過類名調用,也可以通過對象調用
    • 成員變量只能通過對 象名調用

###07.13_面向對象(main方法的格式詳細解釋)(了解)

  • 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之間)

###07.19_day07總結
把今天的知識點總結一遍。

面向對象學習