Java基礎班學習筆記(8)

來源:互聯網
上載者:User

標籤:

1:如何製作協助文檔(瞭解) (1)寫一個類 (2)加入文檔注釋 (3)通過javadoc工具產生即可   javadoc -d 目錄 -author -version ArrayTool.java   如何使用協助文檔
1:開啟協助文檔2:點擊顯示,找到索引,看到輸入框3:知道你要找誰?以Scanner舉例4:在輸入框裡面輸入Scanner,然後斷行符號5:看包 java.lang包下的類不需要匯入,其他的全部需要匯入。 要匯入: java.util.Scanner6:再簡單的看看類的解釋和說明,別忘了看看該類的版本7:看類的結構 成員變數 欄位摘要 構造方法 構造方法摘要 成員方法 方法摘要8:學習構造方法 A:有構造方法 就建立對象 B:沒有構造方法 成員可能都是靜態9:看成員方法 A:左邊  是否靜態:如果靜態,可以通過類名調用  傳回值類型:人家返回什麼,你就用什麼接收。 B:右邊  看方法名:方法名稱不要寫錯  參數列表:人家要什麼,你就給什麼;人家要幾個,你就給幾個
  2:通過JDK提供的API學習了Math類(掌握) (1)API(Application Programming Interface)   API(協助文檔) (2)如何使用呢?  請參照   day08\code\02_如何使用JDK提供的協助文檔\如何使用協助文檔.txt (3)Math類  A:是針對數學進行操作的類  B:沒有構造方法,因為它的成員都是靜態  C:產生隨機數   public static double random(): [0.0,1.0)  D:如何產生一個1-100之間的隨機數   int number = (int)(Math.random()*100)+1;  E:猜數字小遊戲  3:代碼塊(理解) (1)用{}括起來的代碼。 (2)分類:  A:局部代碼塊:局部位置,用於限定變數的生命週期   用於限定變數的生命週期,及早釋放,提高記憶體利用率。  B:構造代碼塊:   在類中中的乘員位置,用{ }  括起來的代碼,瓦斯調用構造方法執行前,都會先執行構造代碼塊。   把多個構造方法中相同的代碼可以放到這裡,每個構造方法執行前,首先執行構造代碼塊。  C:靜態代碼塊:在類中的乘員位置,用{ }括起來的代碼,只不過他用static修飾了。   對類的資料進行初始化,僅僅只執行一次。 (3)靜態代碼塊,構造代碼塊,構造方法的順序問題?  靜態代碼塊 > 構造代碼塊 > 構造方法      +++++++++++++++++++++  物件導向[下] ++++++++++++++++++++++++ 4:繼承(掌握) (1)把多個類中相同的成員給提取出來定義到一個獨立的類中。然後讓這多個類和該獨立的類產生一個關係,    這多個類就具備了這些內容。這個關係叫繼承。 (2)Java中如何表示繼承呢?格式是什麼呢?  A:用關鍵字extends表示  B:格式:   class 子類名 extends 父類名 {} (3) 繼承的好處:  A:提高了代碼的複用性  B:提高了代碼的維護性  C:讓類與類產生了一個關係,是多態的前提 (也是繼承的弊端:讓類的耦合性增強) (4) 繼承的弊端:  A:讓類的耦合性增強。這樣某個類的改變,就會影響其他和該類相關的類。   原則:低耦合,高內聚。   耦合:類與類的關係   內聚:自己完成某件事情的能力  B:打破了封裝性 (5) Java中繼承的特點  A:Java中類只支援單繼承  B:Java中可以多層(重)繼承(繼承體系) (6) 繼承的注意事項:  A:子類不能繼承父類的私人成員(成員變數和成員方法)  B:子類不能繼承父類的構造方法,但是可以通過super去訪問  C:不要為了部分功能而去繼承 (7) 什麼時候使用繼承呢?  A:繼承體現的是:is a的關係。  B:採用假設法 (8) Java繼承中的成員關係  A:成員變數   a:子類的成員變數名稱和父類中的成員變數名稱不一樣,這個太簡單   b:子類的成員變數名稱和父類中的成員變數名稱一樣,這個怎麼訪問呢?    子類的方法訪問變數的尋找順序:     在子類方法的局部範圍找,有就使用。     在子類的成員範圍找,有就使用。     在父類的成員範圍找,有就使用。     找不到,就報錯。     this和super的區別?
  分別是什麼呢?   this代表本類對應的引用。   super代表父類儲存空間的標識(可以理解為父類引用,可以操作父類的成員)   怎麼用呢?   A:調用成員變數    this.成員變數 調用本類的成員變數    super.成員變數 調用父類的成員變數   B:調用構造方法    this(...) 調用本類的構造方法    super(...) 調用父類的構造方法   C:調用成員方法    this.成員方法 調用本類的成員方法    super.成員方法 調用父類的成員方法
  B:構造方法   a:子類的構造方法預設會去訪問父類的 無參構造方法    為什麼呢?答案:是為了子類訪問父類資料的初始化(因為子類會繼承父類中的資料,可能還會使用父類的資料。所以,子類初始化之前,一定要先完成父類資料的初始化。)    **每一個構造方法的第一條語句預設都是:super()    b:父類中如果沒有無參構造方法,怎麼辦?     如果父類沒有無參構造方法,那麼子類的構造方法會出現什麼現象呢?      報錯。     如何解決呢?      A:在父類中加一個無參構造方法      B:通過使用super關鍵字去顯示的調用父類的帶參構造方法      C:子類通過this去調用本類的其他構造方法       子類中一定要有一個去訪問了父類的構造方法,否則父類資料就沒有初始化。    注意事項:  this(...)或者super(...)必須出現在第一條語句上。  如果不是放在第一條語句上,就可能對父類的資料進行了多次初始化,所以必須放在第一條語句上。   C:成員方法   a:子類的成員方法和父類中的成員方法名稱不一樣,這個太簡單   b:子類的成員方法和父類中的成員方法名稱一樣,這個怎麼訪問呢?    通過子類對象訪問一個方法的尋找順序:     在子類中找,有就使用     在父類中找,有就使用     找不到,就報錯   D:方法重寫概述  子類中出現了和父類中一模一樣的方法聲明,也被稱為方法覆蓋,方法複寫。  使用特點:   如果方法名不同,就調用對應的方法   如果方法名相同,最終使用的是子類自己的 方法重寫的應用:  當子類需要父類的功能,而功能主體子類有自己特有內容時,可以重寫父類中的方法,這樣,即沿襲了父類的功能,又定義了子類特有的內容。   *方法重寫的注意事項   A:父類中私人方法不能被重寫    因為父類私人方法子類根本就無法繼承   B:子類重寫父類方法時,存取權限不能更低    最好就一致   C:父類靜態方法,子類也必須通過靜態方法進行重寫    其實這個算不上方法重寫,但是現象確實如此,至於為什麼算不上方法重寫,多態中我會講解      子類重寫父類方法的時候,最好聲明一模一樣。  (9)兩個面試題:  A:Override和Overload的區別?Overload是否可以改變傳回值類型?  B:this和super的區別和各自的作用? (10)資料初始化的面試題  A:一個類的初始化過程  B:子父類的構造執行過程  C:分層初始化 (11)案例:  A:學生和老師案例   繼承前   繼承後  B:貓狗案例的分析和實現

Java基礎班學習筆記(8)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.