20165233 Java第四章學習總結

20165233 2017-2018-2 《Java程序設計》第三週學習總結

教材學習內容總結

  • 基礎
    • 類:包括類聲明和類體。
      • 其中類聲明的變量被稱做對象變量,簡稱對象
      • 類體中包括兩部分:一部分是變量的聲明,體現數據,即屬性;另外一部分是方法的定義,體現操做,即行爲。
    • 構造方法與對象的建立java

      • 構造方法分爲默認構造方法與自定義構造方法,構造方法沒有類型
      • 建立對象分爲對象的聲明和爲對象分配變量(new運算符)兩個步驟。
    • 類與程序的基本結構git

  • 重點
    • 參數傳值
      • 傳值機制:方法中參數變量的值是調用者指定的值的拷貝。
      • 兩種方式:基本數據類型參數的傳值,引用類型參數的傳值。
    • 對象的組合
      • 一個類聲明的兩個對象若是具備相同的引用,兩者就具備徹底相同的變量
  • 理解
    • 實例成員與類成員
      • 有關鍵字static得失類變量,其他爲實例變量
      • 實例變量經過對象去訪問;類變量經過類名去訪問。
      • 實例方法中不只能夠操做實例變量,也能夠操做類變量;類方法不能操做實例變量。
    • 方法重載:一個類中能夠有多個方法具備相同的名字,但參數必須不一樣。
    • this關鍵字
    • import語句
  • 實用
    • JRE擴展與jar文件

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

  • 問題1:教材54頁中,一個示例:
class Factory {
    float [] a;
    Workman zhang;
}
class Workman {
    double x;
}

zhang是Workman類聲明的變量,即對象。類聲明的變量與對象有何區別?數組

  • 問題1解決方案:在網絡中搜索得到的解答是:對象是由類產生的個體,是對一個客觀實體的描述;變量是對象的屬性,是對對象的引用。例如,類比做一我的類;對象比做一個類的實例(我本身);變量比做個人名字、身高。網絡

  • 問題2:聲明對象與建立對象的區別?
  • 問題2解決方案:聲明對象通常是類的名字 對象名字;,例如Lader lader;建立對象是使用new運算符和類的構造方法爲聲明的對象分配變量學習

  • 問題3:什麼狀況下須要使用構造方法?
  • 問題3解決方案:使用構造方法的好處是能夠在對象初始的時候就對某些變量賦值等操做。這樣能夠提升效率,相比對象建立出來,set成員變量的方式更能減小調用對象的方法的錯誤,也更簡便。this

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

  • 問題1:在學習類與程序的基本結構時,例子5書上建議將多個類分別放在不一樣的源文件中,按照此方法,編譯Example4_5.java後,我在bin文件夾中沒有發現自動編譯Rect.java和Lader.java所產生的字節碼文件,而且編譯Example4_5.java時,爲何程序報錯了「找不到符號」的內容?(已經單獨編譯過Rect.java和Lader.java)

  • 問題1解決方案:在src文件夾中新建一個文件夾ch04,只放入Example4_5.java、Rect.java和Lader.java。而後經過命令行javac ch04/*.java,即可成功編譯。

代碼託管

上週考試錯題總結

  • 錯題1:表達式-2>>>1的值爲?

緣由:對於移位符號的使用有些不清楚,-2應該使用32位的補碼來進行運算也不清楚。spa

理解狀況:-2=1111 1111 1111 1111 1111 1111 1111 1110向右移動1位以後,最高位用0補,移位後可得0111 1111 1111 1111 1111 1111 1111 1111,即2^31-1命令行

  • 錯題2:下列錯誤的初始化語句是:B.char str[100]="hello";D.char str[]={'hello'}

緣由:對於字符串的一些書寫規則不太熟練。設計

理解狀況:B選項中[]不能寫數組的大小,D選項中一個單詞不能直接寫入括號內,必須單個字符分開。調試

(有些題目不知道是否作錯,以後會補充錯題總結。)

其餘

本週學習感受難度增大許多,類與對象這裏有不少使人難以理解的概念與知識點,經過敲代碼,結合微課視頻,分析一整個程序,把對應的例如對象、方法、局部變量、成員變量之類的東西標在語句旁邊,更有利於理解,並重復,達到看懂一個程序的目的。微課的老師利用畫一個程序的示意圖,也是幫助我更好理解程序的方法,以後能夠嘗試本身分析程序的時候,親自動手畫,來檢驗本身是否真的理解了此程序。

相關文章
相關標籤/搜索