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

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

教材學習內容總結

本週,我學習了書本上第四章的內容,如下是我整理的主要知識。java

第四章 類與對象

編程語言的幾個發展階段
  1. 面向機器git

    表明語言:彙編語言,執行速度快。
  2. 面向過程算法

    表明語言:C語言編程

    int max(int a,int b){
        if(a>b)
            return a;
        else
            return b;
    }
  3. 面向對象數組

    在學習面嚮對象語言的過程當中,一個簡單的理念就是:須要完成某種任務時,首先要想到,誰去完成任務,即哪一個對象去完成任務。編程語言

    表明語言:Java,C++學習

    類產生具體的對象this

    3.1 封裝性
    3.2 繼承
    3.3 多態設計

    類是Java程序的基本要素,一個Java應用程序就是由若干個類所構成的。調試

類是Java語言中最基本的「數據類型」,類封裝這數據和對數據的操做。

類聲明的變量被稱做對象變量,簡稱變量。

  1. 類聲明 (public) class PeopleChina
  2. 類體:變量聲明(屬性)+方法(行爲)
    (1)成員變量:變量聲明部分聲明的變量,有效範圍整個類和書寫位置無關。

    (2)方法:定義方法

    方法體:局部變量和語句構成

    參數在方法內有用

    方法體內聲明的是局部變量,只在方法內有效與書寫位置有關

    局部變量與成員變量同名:成員變量被隱藏暫時失效。

    局部變量沒有默認值。

構造方法與對象的建立

構造方法
建立對象時用

構造方法的名字和類名同樣,沒有類型

(1)默認的構造方法,若是不定義構造方法,系統提供默認的構造方法。

(2)自定義構造方法,自定義的多個構造方法必須參數不一樣,個數不一樣,或對應的某個參數類型不一樣。

建立變量

(1)聲明對象
類的名字 對象名字

(2)爲聲明的對象分配變量。

用new運算符號和構造方法

使用對象

避免使用空對象,不要讓空對象去訪問變量或方法

對象的引用和實體
對象自己存放着引用,本身能夠操做分配本身的變量,調用類提供的方法分配給對象的變量稱做對象的實體

兩個類型相同的對象,若是兩者的引用相同,那麼兩者就具備徹底相同的實體。

類與程序的基本結構

將應用程序涉及的Java源文件保存在相同的目錄下,分別編譯

運行主類

參數傳值

傳值機制:方法中參數變量的值是調用者制定的值的拷貝

基本數據類型參數的傳值:向該參數傳遞的值得級別不能夠高於該參數的級別

引用類型參數的傳值:類型相同兩個數組,一旦引用相同,就有同樣的單元,同樣的實體。

可變參數:在聲明方法時不給出參數列表中從某項開始直至最後一項的名字和個數。

對象的組合

組合和複用:「黑盒」複用,當前對象隨時能夠更換所包含的內容,屬於弱耦合關係。

實例成員與類成員

實例變量和類變量的聲明:static 修飾的是類變量,沒有static修飾的是實例變量。

實例變量和類變量的區別:

(1)不一樣對象的實例變量互不相同

(2)全部對象共享類變量

(3)經過類名直接訪問類變量,實例變量不能用類名訪問,只能用對象訪問

實例方法和類方法的定義:static區分

實例方法和類方法的區別:

(1)對象調用實例方法,只能對象來調用,實例方法能夠操做實例成類變量。

(2)類名調用類方法,對象也能調用,類方法只能操做類變量

(3)設計類方法的原則:算法不須要操做成員變量,就能夠考慮將這樣的算法寫成類方法。

方法重載

一個類中能夠有多個方法具備相同的名字,但這些方法的參數必須相同

避免重載出現歧義:重載方法之間必須保證相互的參數不一樣。

this關鍵字

this能夠出如今實例方法和構造方法中,但不能夠出如今類方法中

在構造方法中使用this:表明使用該構造方法所建立的對象

在實例方法中使用this:只能經過對象來調用,表明正在調用該方法的對象。

包語句: package

有包名的類的存儲目錄:例:package tom.package ---->c:\1000\tom\jiafei

運行有包名的主類:例:java tom.jiafei.主類名

import語句

引入類庫中的類:import語句,能夠有多個import語句,必須寫在package語句和源文件中類的定義之間

引入自定義包中的類

訪問權限

訪問權限指對象是否能夠經過「.」運算符來操做本身的變量或經過「.」運算符調用類中的方法。

私有變量和私有方法:用關鍵字private修飾,若是類中的某個成員是私有類變量或方法,那麼在另一個類中,不能經過此類名來操做這個私有類變量或類方法。

共有變量和共有方法:public修飾,若是類中的某個成員是public類變量或方法,那麼在另一個類中,能經過此類名來操做這個私有類變量或類方法。

友好變量和友好方法:不用private,public,protected修飾的變量和方法。若是類中建立了一個對象,若在同一個包中,那麼在另一個類中,能經過此類名來操做這個私有類變量或類方法。

受保護的成員變量和方法:用protected來修飾

public類與友好類

基本類型的類封裝

Java提供與基本數據類型相關的類,實現了對基本數據類型的封裝。

對象數組

數組的元素是對象

Student [] stu;
stu=new Student[10];
JRE擴展和jar語句

建立一個jar文件:jar cfm Jerry.jar hello.mf moon\star\TestOne.class moon\star\TestTwo.class

放入擴展中

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

  • 問題1:
  • 問題1解決方案:
  1. 在寫類名時,錯誤的加上了空格,致使錯誤。
  2. 在定義s時,String S寫成了大寫
  • 問題2:

  • 問題2解決方案:在Ladder.java中將above,bottom,height錯誤定義成float形式。

  • 問題3:
  • 問題3解決方案:在此問題中,雖然錯誤標識指向100,但實際上是;誤寫爲中文中的符號。在對這一行仔細檢查以後發現。

  • 問題4:
  • 問題4解決方案:在此問題中,應引入的是Date類,輸入錯誤致使。

  • 問題5:
  • 問題5解決方案:
  1. suhu.com文件沒有放在同一個文件裏,致使文件搜索不到。
  2. getAge寫成setAge致使沒有輸出,錯誤!

代碼託管

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 37/37 1/1 10/10
第二週 399/436 1/2 12/22
第三週 764/1163 1/3 18/40
相關文章
相關標籤/搜索