20155228 2016-2017-2 《Java程序設計》第3周學習總結

20155228 2016-2017-2 《Java程序設計》第3周學習總結

教材學習內容總結

認識對象

類與對象

  • 類和對象的關係:類是對象的設計圖,對象是類的實例
  • 參考:將「名牌」指定到新建的對象上
  • 定義值域成員:在新建的類中定義變量
  • 構造函數:構造函數是與類名稱同名的方法
  • 在操做對象時,=是用來指定參考名稱參考某個對象,==是用來比較兩個參考名稱是否參考同一個對象,!=是比較兩個參考名稱是否沒有參考同一個對象。html

    基本類型打包器

  • 若是要讓基本類型像對象同樣操做,可使用Long、Lnteger、Double、Float、Boolean、Byte等類來打包,這些類就是所謂的打包器。java

    數組對象

  • 數組複製不能直接將A指定等於B,而是須要使用特定的命令。
  • 在Java中數組一旦肯定長度就肯定了,不能再修改了。
System.arraycopy();
Arrays.copyOf();

字符串對象

  • 在Java中爲了效率考慮,以引號包括的字符串,只要內容相同,不管在代碼中出現幾回,JVM都只會創建一個實例,並在字符串內維護。
  • 在Java中,字符串對象一旦創建就沒法更改對象中的任何內容,對象上沒有任何辦法能夠改變字符串內容。

對象封裝

何爲封裝

  • 構造函數能夠封裝對象初始流程,構造函數是與類名稱同名的方法,不用聲明返回類型。
  • 在類中定義方法能夠封裝對象操做流程。
  • private是用來封裝私有數據防止用戶直接存取,若是沒有提供方法存取private成員,用戶就不能存取,若是有提供方法,用戶也只能按照方法定義的流程存取數據。git

    語法類細節

  • public權限修飾:能夠用在類、方法、數據還有構造函數上,使得其餘包的類能夠直接使用。
  • 關於構造函數:若是寫了構造函數的話在新建對象時就須要經過構造函數流程,設定構造函數參數的值。
  • 構造函數與重載:定義多個構造函數,參數類型或者個數不一樣,用一致的名稱來調用相似功能的方法。
  • 使用this:能夠在構造函數中調用另外一個已定義的構造函數。
  • static成員:被聲明爲static的成員,不會被個別對象擁有。經過類名稱與點運算符來取得static成員。
  • 不定長度自變量:使用不定長度自變量時,方法上聲明的不定長度參數必須是參數列的最後一個。數組

    教材學習中的問題和解決過程

  • 關於裝箱和自動裝箱在細節上的差別:自動裝箱是裝箱的簡化,不須要再按照通常的類類型新建對象使用new的模式新建對象。可是在自動裝箱時,若是傳入的值在定義的數值範圍內,程序就會檢查前面的緩存中有沒有打包過相同的值,若有就不會再新建對象。
  • 關於類類型創建數組:和基本類型創建數組時不賦值的話就用默認值不一樣,類類型在創建數組時不賦初值的話創建的實例個數就是0個。
    緩存

    代碼調試中的問題和解決過程

  • 課後練習選擇題第十題:把題目中的代碼敲進去發現編譯錯誤。仔細檢查發如今調用方法時的不該該是用返回值的名稱,而應該是類名稱.方法名稱,可是編譯仍是錯誤。後來發現這是在用static的格式調用方法,因此方法定義時要加上static。
    函數

    代碼託管

  • 代碼量截圖:
    學習

    上週考試錯題總結

  • 題目:2.判斷:教材P51,第8題,執行命令java –cp classes cc.openhome.Main和cd classes java cc.openhome.Main cd ..等價。(OK)
  • 分析:這道題我試了一下的確是等價的。
  • 題目:3.CH03 判斷:Java中, 數字235的類型是int。(OK)
  • 分析:教材P67:程序中寫下一個整數時默認使用不超過int類型長度。
  • 題目:6.CH03 填空:~0b1011的十進制值是(-12)
  • 分析:計算機中數據以補碼形式存儲,補碼運算就是逐位取反。1011的補碼是1011取反爲0100還原爲1100因此是-12this

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第三週 210/340 1/3 9/30
  • 計劃學習時間:9小時.net

  • 實際學習時間:9小時設計

  • 改進狀況:上週老師在博客中要求我增強練習,因此這周就多花了些時間寫代碼,並提升了上傳代碼的頻率。

參考資料

相關文章
相關標籤/搜索