Web | Coding | Blog | SOHO

[Java]類別函數

類別變數 與 類別函數 他們 和 實例變數 實例函數   聽起來沒很像是類似的東西,但功能上卻大不同。
接續 [Java]實例變數 與 實例函數 後 [Java]類別變數


再次複習一次 類別變數類別函數 是什麼:

類別變數:物件共享,佔用在同一個記憶體

類別函數:可以直接呼叫

類別函數的定義方式也是相同的:

加上 static 就可以定義為類別函數

public static void example()
   {
      ....
   }

另外在使用上,可以直接透過類別名稱呼叫。

類別名稱.example();

帶入以下完整範例: 結合[Java]類別變數

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



參考書籍:Java 7 教學手冊
Java 學習日誌 (點此閱讀所有 Java日誌)


如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;
另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:

Comments

comments

如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:


© 2017 4xCode™ | Design:SC 站長