PYDOING: Java 快速導覽- 物件導向概念建構子

文章推薦指數: 80 %
投票人數:10人

實際上Java 物件是由建構子(constructor) 所創建的 建構子的名稱必須和類別(class) 名稱相同,後面接小括弧,類似方法(method) ,可以提供參數(parameter) 但沒有回傳 ... 網頁 導論 G+專頁 G+社群 FB粉絲團 FB社團 微博 YouTube Twitter GitHub 關於本站 意見提供或問題回報 新站 公告 《如何自學程式設計》入選GooglePlay台灣地區2016年度最佳書籍|本站於GooglePlay銷售電子書。

預計之後會調整本站內容,凡是有兩個版本的教材,舊版本將刪除。

------ Udemy|Python專案開發入門的二十一堂課|促銷優惠 Java快速導覽-物件導向概念建構子 實際上Java物件是由建構子(constructor)所創建的 建構子的名稱必須和類別(class)名稱相同,後面接小括弧,類似方法(method),可以提供參數(parameter)但沒有回傳值(returnvalue),參數可作為設定屬性(field)之用。

例如,類別Demo的建構子為Demo() classDemo{ publicDemo(){ //相關程式碼 } //相關程式碼 } 建構子也可以多載,另外設計類別若是沒有提供建構子,編譯器會自動提供沒有參數的建構子版本。

這裡須留意,只有在沒有提供建構子的類別,編譯器才會主動提供,若是設計類別有提供任何參數版本的建構子,編譯器就不會提供沒有參數的版本。

以下程式示範Animal類別使用三個版本的建構子 classAnimal{ privateintage; privateintweight; publicAnimal(inta,intw){ setAge(a); setWeight(w); System.out.println("使用兩個參數的建構子,Animal物件已建立...."); } publicAnimal(intw){ setAge(3); setWeight(w); System.out.println("使用一個參數的建構子,Animal物件已建立...."); } publicAnimal(){ setAge(3); setWeight(15); System.out.println("使用沒有參數的建構子,Animal物件已建立...."); } publicintgetAge(){ returnage; } publicvoidsetAge(intn){ if(n<0){ age=1; } else{ age=n; } } publicintgetWeight(){ returnweight; } publicvoidsetWeight(intn){ if(n<0){ weight=1; } else{ weight=n; } } publicvoidspeak(){ System.out.println("哈囉,我已經"+getAge()+"歲,有"+getWeight()+"公斤重"); } } classJungleDemo3{ publicstaticvoidmain(String[]args){ Animalpuppy1=newAnimal(6,70); puppy1.speak(); Animalpuppy2=newAnimal(142); puppy2.speak(); Animalpuppy3=newAnimal(); puppy3.speak(); } } /*《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:JungleDemo3.java 功能:示範物件導向的基本觀念 作者:張凱慶 時間:西元2010年10月*/ 編譯後執行,結果如下 有三個版本的建構子,實際上我們只需保留最多參數版本的建構子,其他建構子可以利用關鍵字this進行呼叫,如 publicAnimal(intw){ setAge(3); setWeight(w); System.out.println("使用一個參數的建構子,Animal物件已建立...."); } publicAnimal(){ setAge(3); setWeight(15); System.out.println("使用沒有參數的建構子,Animal物件已建立...."); } 可以改成 publicAnimal(intw){ this(3,w); } publicAnimal(){ this(3,15); } 重新編譯執行,結果如下 如果需要使用this,必須放在建構子定義中的第一行。

中英文術語對照 建構子constructor 類別class 方法method 參數parameter 回傳值returnvalue 屬性field 物件導向概念 宣告及定義屬性 宣告及定義方法 封裝與存取權限 方法過載 建構子 static成員 final成員 巢狀類別 繼承 子類別的建構子 物件之母Object abstract類別與方法 介面 多型 泛型 參考資料 http://download.oracle.com/javase/tutorial/java/javaOO/constructors.html http://java.sun.com/docs/books/jls/third_edition/html/classes.html 回Java快速導覽 回Java教材目錄 回首頁 以電子郵件傳送這篇文章BlogThis!分享至Twitter分享至Facebook分享到Pinterest 標籤: Java快速導覽, Java教學 沒有留言: 張貼留言 較新的文章 較舊的文章 首頁 訂閱: 張貼留言(Atom) 搜尋此網誌 RSS訂閱 連結到本站 [email protected] 重要說明 本站教材的設計目標是以高中生到大一程度或程式設計的完全新手為主,尤其《入門指南》系列帶領讀者開發簡單的GUI軟體,簡言之目標為學習開發軟體的流程,其作為學習程式語言的第一本書,而非最後一本書,建議您完成《入門指南》後繼續找尋其他書籍研讀程式設計的技巧及程式語言的細節,語言細節部分也可先參考本站的《快速導覽》或《速查手冊》,謝謝。

本站電子書 GooglePlayBooks 如何自學寫作V1.00 如何自學程式設計V1.00 如何自學程式設計第二部分V2.00 C的一堂課V2.00 C速查手冊V1.00 Python的一堂課V2.00 Python新手之旅V1.10 Python入門指南V4.00 Python速查手冊V2.00 C++入門指南V2.21 C++速查手冊V1.02 Java入門指南V2.11 Swift入門指南V3.00 HTML的一堂課V5.00 CSS的一堂課V1.00 EPUB的一堂課V1.00 iBooksStore 如何自學程式設計V1.00 Python的一堂課V1.00 Python新手之旅V1.10 Python入門指南V2.31 C++入門指南V2.21 C++速查手冊V1.02 Java入門指南V2.11 Swift入門指南V3.00 EPUB的一堂課V1.10 Readmoo 如何自學寫作V1.00 如何自學程式設計V1.00 C速查手冊V1.00 Python新手之旅V1.10 Python入門指南V4.00 Python速查手冊V2.00 C++入門指南V2.20 C++速查手冊V1.02 Java入門指南V2.10 Swift入門指南V3.00 樂天kobo 如何自學程式設計V1.00 如何自學程式設計第二部分V2.00 C的一堂課V2.00 C速查手冊V1.00 Python的一堂課V2.00 Python新手之旅V1.10 Python入門指南V4.00 Python速查手冊V2.00 C++入門指南V2.21 C++速查手冊V1.02 Java入門指南V2.11 HyRead Python的一堂課V1.00H Python新手之旅V1.00H Python入門指南V2.00H C++入門指南V2.00H C++速查手冊V1.00H Java入門指南V2.00H Swift入門指南V1.00H 印客邦-紙本書 如何自學程式設計(合訂本)V2.00 C++入門指南V2.30(附C的一堂課) C++速查手冊V1.20 Java入門指南V3.00 Python入門指南V4.10 Swift入門指南V3.00



請為這篇文章評分?