Java 私有静态成员变量的简单使用

  • 如果有参构造存在,则系统不会调用空构造
  • 静态方法只能调用静态成员变量,非静态变量既可以调用静态成员变量,又可以调用非成员变量
  • 静态方法直接使用类名就可调用
  • 非静态方法需要通过实例化的对象进行调用

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. 运行结果

原文地址:https://www.cnblogs.com/ZZG-GANGAN/p/13818025.html