java學習筆記(四)物件導向,java學習筆記

來源:互聯網
上載者:User

java學習筆記(四)物件導向,java學習筆記
一、形參長度可變的方法當傳入被調用的函數參數數量不確定時,在方法最後一個形參的類型後加上三個點號(...),表明該形參可以接受多個參數值,多個參數值被當做數組傳入,這些參數必須為指定的類型。

package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午4:26 * To change this template use File | Settings | File Templates. */public class MulParams {    public static void main(String[] args) {        mulFun("籃球", "足球");    }    public static void mulFun(String... ballName) {        for(String name : ballName) {            System.out.println(name);                   }    }}
二、方法重載1、同一個類中方法名相同,方法中的參數類型或者參數個數不同就叫方法重載;2、方法的修飾符、返回值不同不是方法重載;三、super關鍵字的使用super關鍵使用的注意事項:1、如果父類中的成員變數和方法被定義為private類型,那麼子類永遠無法訪問他們,如果採用super.name的形式去訪問父類的private類型的var變數,就會導致編譯錯誤。2、只能在構造方法或實力方法內使用super關鍵字,而在靜態方法和靜態代碼塊內不能使用super關鍵字。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-21 * Time: 上午9:31 * To change this template use File | Settings | File Templates. */public class OverWrite {    public static void main(String[] args) {        B b = new B();        b.test();    }}class A {    public String name = "wbb";    public void test() {        System.out.println("父類test方法");    }}class B extends A {    public void test() {        System.out.println(super.name);        super.test();    }}

輸出結果:wbb    父類test方法四、多態1、如果把引用變數轉換為子類類型稱之為向下轉型;2、如果把引用變數轉換為父類類型稱之為向上轉型;五、toString()方法Object類提供的toString方法總是返回該對象實作類別的類名+@+hashCode值,這個返回值並不能真正實現“自我描述”的功能,如果使用者想實現“自我描述”的功能,必須重寫Object類的toString方法。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-23 * Time: 上午9:31 * To change this template use File | Settings | File Templates. */public class ToString {    public static void main(String[] args) {        Animal animal = new Animal("忠犬八公");        System.out.println(animal);    }}class Animal {    private String name;    public Animal(String name) {        this.name = name;    }//    public String toString() {//        return "這條狗的名字為" + name;//    }}

輸出結果為:wbb.java.JavaObject.Animal@f7f540去掉注釋代碼重寫toString方法就能實現對象的自我描述:這條狗的名字為忠犬八公








``Java JDK6學習筆記`JAVA物件導向編程``哪本書好些·

Java JDK6學習筆記(林信良)
我一個朋友以前看的這個,感覺還不錯..挺基礎的。適合入門
 
推薦JAVA入門書籍

一、基礎類
1、《Thinking in java》,入門第一位是建立正確的概念。
2、《Core Java》,我沒系統讀過,這本書更貼近實踐,更多API的介紹,同樣,更新也更頻繁。

二、進階類
1、《Effective Java》,在熟悉文法、API之後,你需要知道最佳實務和陷阱,沒有比這本更好的。
2、《Java Puzzlers》,通過謎題介紹一些你可能沒有注意到的邊角料,作為趣味讀物也不錯
3、《深入Java虛擬機器》,翻譯一般,但不可不讀,最好結合最新的JVM規範來讀。

三、特定領域
1、網路編程:
(1) O’Reilly的《Java nio》,很多人都推薦,我個人覺的一般,基本上只是個API更詳細的說明文檔,O’reilly的java系列很多都是這樣。
(2)推薦這本《Fundamental networking in java》,由淺入深教你怎麼做java網路編程,並且介紹很多背景知識,甚至介紹了各種最佳實務、網路編程模型以及Java socket在不同平台之間的差異等等。

2、並發編程:
(1)《Java Concurrency in Practic》,並發領域必讀經典。
(2)《Java並發編程:設計原則與模式》,同樣是Doug lea的作品。
(3) 《java threads》,入門讀物。

3、、模式與設計
1、《設計模式》,GOF的經典。
2、《設計模式精解》,應該有最新版,個人認為更適合入門。
3、《Head first設計模式》,更輕鬆的入門讀物。
4、《公司專屬應用程式架構模式》
5、《分析模式——可複用物件模型》
6、《面向模式的軟體體繫結構》,國內貌似翻譯了3卷,絕對經典,可惜翻譯較差。
7、《重構——改善既有代碼設計》,想寫好代碼必讀。
8、《重構與模式》

4、方法論
1、《敏捷式軟體開發 (Agile Software Development)》
2、《測試驅動開發》,你不一定要TDD,但是你一定要學會做單元測試。
3、《Agile Java》,也可以作為java入門讀物。
4、《快速軟體開發》
5、《物件導向分析與設計》,OO設計必讀。
6、《Unix編程藝術》,開啟你的眼界。

5、Java之外
1、《unix網路編程》,學習網路編程必讀書。
2、《C++網路編程》上下兩卷,介紹ACE的,但是其中對各種模式運用的介紹非常值的一讀。
3、《Joel說軟體》,編程文化
4、《人月神話》、《人件》
5、《卓有成效的程式員》,給我很大啟發的一本書。
6、《程式員修鍊之道》
7、《電腦程式的構造與解釋》,必讀
8、《演算法導論》,可以作為參考書
9、《深入理解電腦系統》
10、《編譯原理》龍書,最新版用java解釋。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.