PYDOING: Java 快速導覽- 物件導向概念建構子
文章推薦指數: 80 %
實際上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
延伸文章資訊
- 1程式基礎概念 建構子 - iT 邦幫忙
建構式/建構函式/建構子(Constructor). 對類別做物件參數初始化,和類別(Class)名稱相同的方法。 無傳回值. 當我們使用new建立新物件時,程式會自動執行建構函式。
- 2定義類別(Class) | Java SE 6 技術手冊 - caterpillar
與類別名稱同名的方法稱之為「建構方法」(Constructor),也有人稱之為「建構子」,它沒有傳回值,建構方法的作用是讓您建構物件的同時,可以同時初始一些必要的 ...
- 3Java 入門指南- 單元9 - 封裝與建構子 - 程式語言教學誌
檔名:ClassDemo04.java * 作者:張凱慶* 網站:http://kaiching.org */ package classdemo04; public class ClassDe...
- 4建構子- 維基百科,自由的百科全書
Java
- 5Day06:爸爸這麼做都是為你好 - iT 邦幫忙
Java SE 系列第6 篇. kirin0127. 1 年前‧ 472 瀏覽. 0. 當我們在定義類別時,有三種東西可以定義,屬性(field)、建構子(constructor)、方法(met...