Board logo

標題: static 關鍵字 (一) [打印本頁]

作者: tonyh    時間: 2016-7-15 20:44     標題: static 關鍵字 (一)

本帖最後由 tonyh 於 2018-2-3 14:17 編輯

成員 (資料成員或方法成員) 在宣告時若使用關鍵字 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. }
複製代碼

作者: 曾挺桂    時間: 2016-7-15 21:04

  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. }
複製代碼

作者: 黃璽安    時間: 2016-7-15 21:05

  1. public class Ch66
  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. }
複製代碼

作者: 洪振庭    時間: 2016-7-15 21:06

  1. public class Ch70
  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. }
複製代碼

作者: 李知易    時間: 2016-7-15 21:08

  1. public class Ch63
  2. {
  3.     public static void main(String args[])
  4.     {
  5.          Sniperrifle s1=new Sniperrifle("恐懼惡魔",165);
  6.          Sniperrifle s2=new Sniperrifle("狂龍awp",160);
  7.          Sniperrifle s3=new Sniperrifle("m82a1",145);
  8.          Sniperrifle s4=new Sniperrifle("m200",136);
  9.          Machinegun m1=new  Machinegun("盤龍RPK",40);
  10.          Machinegun m2=new  Machinegun("爆騎",40);
  11.          s1.showProfile();
  12.          s2.showProfile();
  13.          s3.showProfile();
  14.          s4.showProfile();

  15.          m1.showProfile();
  16.          m2.showProfile();
  17.          System.out.println("有"+Sniperrifle.sum+"把狙擊槍和"+ Machinegun.sum+"把機槍!");
  18.     }
  19. }
  20. class Sniperrifle
  21. {
  22.     static int sum=0;
  23.     String name;
  24.     int a;


  25.     Sniperrifle(String n, int a)
  26.     {
  27.         sum++;
  28.         name=n;
  29.         this.a=a;
  30.     }
  31.     void showProfile()
  32.     {
  33.         System.out.println(name+"的傷害為:"+a);
  34.     }

  35. }
  36. class Machinegun
  37. {
  38.     static int sum=0;
  39.     String name;
  40.     int a;


  41.     Machinegun(String n, int a)
  42.     {
  43.         sum++;
  44.         name=n;
  45.         this.a=a;
  46.     }
  47.     void showProfile()
  48.     {
  49.         System.out.println(name+"的傷害為:"+a);
  50.     }

  51. }
複製代碼

作者: 沈子耕    時間: 2016-7-22 14:10

  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. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2