第二章:簡單 Java 程式解析
第三章:變數與資料型態
第四章:運算子、運算式與敘述
第五章:選擇性敘述與迴圈
第十章:實例變數與函數、類別變數與函數
Powered By GitBook
建構元的多載
先前提過函數的多載、類別函數成員的多載,相信也都要熟悉什麼是多載。 在此再次說明多載是什麼:
多載 (overloading)
    1.
    函數名稱相同,引數個數不同
    2.
    引數型態不同,引數個數相同
相似功能的函數,以相同的名稱來命名之;透過不同的引數個數,或是不同的型態, 來執行相對應的功能。
以下範例為建構元利用多載的技術所撰寫的:
1
class CCircle
2
{
3
private String color;
4
private double pi=3.14;
5
private double radius;
6
7
public CCircle() // 這是一個沒有引數的建構元
8
{
9
System.out.println("constructor CCircle() called");
10
color="Green";
11
radius=1.0;
12
}
13
public CCircle(String str, double r) // 這是一個有兩個引數的建構元
14
{
15
System.out.println("constructor CCircle(String,double) called");
16
color=str;
17
radius=r;
18
}
19
public void show()
20
{
21
System.out.println("color="+color+", Radius="+radius);
22
System.out.println("area="+pi*radius*radius);
23
}
24
}
25
public class class_constructor_2
26
{
27
public static void main(String args[])
28
{
29
CCircle cir1=new CCircle(); // 建立物件
30
cir1.show();
31
32
CCircle cir2=new CCircle("Blue",4.0); // 建立物件,並設兩個值
33
cir2.show();
34
}
35
}
Copied!
在主程式方面可以了解以下事情:
若在建立物件的過程中:無設值,將會自動對應到沒有引數的建構元
1
CCircle cir1=new CCircle();
Copied!
若在建立物件的過程中:設定兩個值,將會對應到有兩個引數的建構元
1
CCircle cir2=new CCircle("Blue",4.0);
Copied!
使用類別篇章提到如何建立類別的物件;
同樣的概念:建立物件時,會呼叫建構元;若想要呼叫沒有引數的建構元,則不需設值; 若想呼叫有引數的建構元,在建立的過程中 也必須設初值。
這就是為什麼建構元擁有設定初值的功能。
(詳見:認識 建構元)
Last modified 9mo ago
Copy link