Discuss / Java / oop-static

oop-static

Topic source

wxs2011133069

#1 Created at ... [Delete] [Delete and Lock User]

Person.java

package com.itranswarp.learnjava;

/**
 * @Package: com.itranswarp.learnjava
 * @ClassName: Person
 * @Author: weixu
 * @CreateTime: 2021/8/16 21:22
 * @Description: oop-static
 */
public class Person {
    private String name;
    private static int count;

    /*
     1. 静态成员变量在加载类的时候初始化,不用等创建实例对象
     2. 创建实例对象也不会对静态成员变量再次进行初始化
    */

    public Person(String name) {
        count++;
        this.name = name;
    }

    public static int getCount() {
        return count;
    }
}

Main.java

package com.itranswarp.learnjava;

/**
 * @Package: com.itranswarp.learnjava
 * @ClassName: Main
 * @Author: weixu
 * @CreateTime: 2021/8/16 21:21
 * @Description: oop-static
 */
public class Main {
    public static void main(String[] args) {
        // TODO: 给Person类增加一个静态字段count和静态方法getCount,统计实例的个数
        Person p1 = new Person("小明");
        System.out.println(Person.getCount()); // 1
        Person p2 = new Person("小红");
        System.out.println(Person.getCount()); // 2
        Person p3 = new Person("小军");
        System.out.println(Person.getCount()); // 3
    }
}

  • 1

Reply