-
如果有參構造存在,則系統不會調用空構造
-
靜態方法只能調用靜態成員變量,非靜態變量既可以調用靜態成員變量,又可以調用非成員變量
-
靜態方法直接使用類名就可調用
-
非靜態方法需要通過實例化的對象進行調用
1. 要求:根據實例化對象的個數計算男女人數和總人數
2. 類代碼:
package Fengzhang_Anli; public class Stud { // 成員變量 String name; int age; String sex; private static int count=0; private static int male_count=0; private static int female_count=0; // 空構造 Stud(){ count +=1; } // 有參構造,如果有參構造存在,則系統不會調用空構造 public Stud(String name, int age, String sex){ this(); // 調用一次空構造 this.name = name; this.age = age; this.sex = sex; setSex(sex); } // 成員方法(靜態方法只能調用靜態成員變量,非靜態變量既可以調用靜態成員變量,又可以調用非成員變量) public void setSex(String sex) { if("man".equals(sex)) { male_count += 1; }else if("woman".equals(sex)) { female_count += 1; } } // 靜態方法 public static int getCount() { return count; } // 非靜態方法 public int getMalecount() { return male_count; } // 靜態方法 public static int getFemalecount() { return female_count; } }
3. Demo代碼
package Fengzhang_Anli; public class Student_Demo { public static void main(String[] args) { Stud stu1 = new Stud("zzg1",21,"man"); Stud stu2 = new Stud("zzg2",21,"man"); Stud stu3 = new Stud("zzg3",21,"man"); Stud stu4 = new Stud("zzg4",21,"woman"); // 靜態方法直接使用類名就可調用 System.out.println("總人數:" + Stud.getCount()); // 非靜態方法需要通過實例化的對象進行調用 System.out.println("男性人數:" + stu1.getMalecount()); System.out.println("女性人數:" + Stud.getFemalecount()); } }
4. 運行結果