返回列表 發帖

static 關鍵字 (一)

本帖最後由 tonyh 於 2019-1-28 20:32 編輯

成員 (資料成員或方法成員) 在宣告時若使用關鍵字 static 修飾,則該成員變成屬於類別 (class) 擁有而非物件 (object) 擁有,因此我們若要在其他地方使用該成員時,不用建立實體物件,只需透過類別即可使用。譬如:Math.PI 即為靜態的資料成員,而Math.pow() 即為靜態的方法成員。

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

  1. public class Ch52
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3,"紅棕色");
  6.         Dog d2=new Dog("球球",1,1.2,"白色");
  7.         Cat c1=new Cat("咪咪",3,1.5,"銀灰色");
  8.         d1.showProfile();
  9.         d1.makeSound(2);
  10.         d2.showProfile();
  11.         d2.makeSound(3);
  12.         c1.showProfile();
  13.         c1.makeSound(5);
  14.         System.out.println("總共有 "+Dog.sum+"隻狗, "+Cat.sum+"隻貓");
  15.         d1.makeSound(1);
  16.         d2.makeSound(1);
  17.         c1.makeSound(1);
  18.     }
  19. }
  20. class Dog
  21. {
  22.     String name, color;
  23.     int age;
  24.     double w;
  25.     static int sum=0;
  26.     Dog(String n, int a, double w, String c)
  27.     {
  28.         name=n;
  29.         age=a;
  30.         this.w=w;
  31.         color=c;
  32.         sum++;
  33.     }
  34.     void showProfile()
  35.     {
  36.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤,毛色為"+color+".");
  37.     }
  38.     void makeSound(int n)
  39.     {
  40.         for(int i=1; i<=n; i++)
  41.             System.out.print("汪~");
  42.         System.out.println();
  43.     }
  44. }
  45. class Cat
  46. {
  47.             String name, color;
  48.             int age;
  49.             double w;
  50.             static int sum=0;
  51.             Cat(String n, int a, double w, String c)
  52.             {
  53.                 name=n;
  54.                 age=a;
  55.                 this.w=w;
  56.                 color=c;
  57.                 sum++;
  58.             }
  59.             void showProfile()
  60.             {
  61.                 System.out.println(name+"今年"+age+"歲,體重"+w+"公斤,毛色為"+color+".");
  62.             }
  63.             void makeSound(int n)
  64.             {
  65.                 for(int i=1; i<=n; i++)
  66.                     System.out.print("喵~");
  67.                 System.out.println();       
  68.         }
  69. }
複製代碼

TOP

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

TOP

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

TOP

  1. public class Ch62

  2. {

  3.     public static void main(String[] args)

  4.     {

  5.         Dog d1=new Dog("憨憨",2,1.3);

  6.         Dog d2=new Dog("球球",1,1.2);

  7.         d1.showProfile();

  8.         d2.showProfile();

  9.         Cat c1=new Cat("咪咪",3,1.5);

  10.         c1.showProfile();

  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");

  12.     }

  13. }

  14. class Dog

  15. {

  16.     static int sum=0;

  17.     String name;

  18.     int age;

  19.     double w;

  20.     Dog(String n, int a, double w)

  21.     {

  22.         sum++;

  23.         name=n;

  24.         age=a;

  25.         this.w=w;

  26.     }

  27.     void showProfile()

  28.     {

  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");

  30.     }

  31. }

  32. class Cat

  33. {

  34.     static int sum=0;

  35.     String name;

  36.     int age;

  37.     double w;

  38.     Cat(String n, int a, double w)

  39.     {

  40.         sum++;

  41.         name=n;

  42.         age=a;

  43.         this.w=w;

  44.     }

  45.     void showProfile()

  46.     {

  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");

  48.     }

  49. }
複製代碼

TOP

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

TOP

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

TOP

  1. public class Ch62
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Dog d1=new Dog("憨憨",2,1.3);
  6.         Dog d2=new Dog("球球",1,1.2);
  7.         d1.showProfile();
  8.         d2.showProfile();
  9.         Cat c1=new Cat("咪咪",3,1.5);
  10.         c1.showProfile();
  11.         System.out.println("總共有"+Dog.sum+"隻狗,"+Cat.sum+"隻貓.");
  12.     }
  13. }
  14. class Dog
  15. {
  16.     static int sum=0;
  17.     String name;
  18.     int age;
  19.     double w;
  20.     Dog(String n, int a, double w)
  21.     {
  22.         sum++;
  23.         name=n;
  24.         age=a;
  25.         this.w=w;
  26.     }
  27.     void showProfile()
  28.     {
  29.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  30.     }
  31. }
  32. class Cat
  33. {
  34.     static int sum=0;
  35.     String name;
  36.     int age;
  37.     double w;
  38.     Cat(String n, int a, double w)
  39.     {
  40.         sum++;
  41.         name=n;
  42.         age=a;
  43.         this.w=w;
  44.     }
  45.     void showProfile()
  46.     {
  47.         System.out.println(name+"今年"+age+"歲,體重"+w+"公斤.");
  48.     }
  49. }
複製代碼

TOP

返回列表