Comment on page
類別函數
類別變數:物件共享,佔用在同一個記憶體類別函數:可以直接呼叫
類別函數的定義方式也是相同的:
加上 static 就可以定義為類別函數
public static void example()
{
....
}
另外在使用上,可以直接透過類別名稱呼叫。
類別名稱.example();
class CCircle
{
private static int count=0; // 宣告為類別變數
private static double pi=3.14; // 宣告為類別變數
private double radius;
public CCircle() // 建構元 無引數
{
this(1.0); // 呼叫一個引數的建構元
}
public CCircle(double r) // 建構元 一個引數
{
radius=r;
count++; // 呼叫此建構元 則加一
}
public void show()
{
System.out.println("area="+pi*radius*radius);
}
public static void show_count() // 宣告為類別函數
{
System.out.println(count+" object(s) created");
}
}
public class instance_vs_class_03
{
public static void main(String args[])
{
CCircle.show_count(); //直接使用類別來呼叫類別函數
CCircle cir1=new CCircle(); //呼叫建構元
CCircle.show_count(); //直接使用類別來呼叫類別函數
CCircle cir2=new CCircle(2.0); //呼叫建構元
CCircle cir3=new CCircle(4.3); //呼叫建構元
cir3.show_count(); //亦可使用物件來呼叫類別函數
}
}
在此範例完整整合了 類別 變數與類別函數:
類別變數部分:
private static int count=0; // 宣告為類別變數
private static double pi=3.14; // 宣告為類別變數
類別函數部分:
public static void show_count() // 宣告為類別函數
{
System.out.println(count+" object(s) created");
}
在主程式可以見到:直接透過類別來呼叫類別函數
CCircle.show_count(); //直接使用類別來呼叫類別函數
另外亦可透過物件來呼叫類別函數:
CCircle cir3=new CCircle(4.3); //呼叫建構元
cir3.show_count(); //亦可使用物件來呼叫類別函數
另外也還可以發現 主程式也是一個使用 static 的函數
public static void main(String args[])
因為要直接由類別 instance_vs_class_03 呼叫,因此宣告為 static
Last modified 2yr ago