这个java代码如何计算事物的数量?

这个java代码如何计算事物的数量?,java,class,object,count,Java,Class,Object,Count,愚蠢的问题,但有人能解释为什么下面的代码计算对象的数量吗?我不明白为什么定义的count方法会计算对象的数量?迭代什么时候开始?任何澄清方面的帮助都将不胜感激 class Thing { public String name; public static int count = 0; public Thing() { id = count; count++; } public void showName() {

愚蠢的问题,但有人能解释为什么下面的代码计算对象的数量吗?我不明白为什么定义的count方法会计算对象的数量?迭代什么时候开始?任何澄清方面的帮助都将不胜感激

class Thing {
public String name;

    public static int count = 0;
    public Thing() {

        id = count;
        count++;
    }
    public void showName() {
        System.out.println("Object ID: " + id + ", " + description + ": " + name);
    }
}

public class Java_Static {
public static void main(String[] args) {

    
    // using count method
    System.out.println("Before creating objects, count is: " + Thing.count);

    // using variable
    Thing thing1 = new Thing();
    Thing thing2 = new Thing();

    thing1.name = "Abid";
    thing2.name = "Ruksaar";

    thing1.showName();
    thing2.showName();

    System.out.println("After creating objects, count is: " + Thing.count);

    


    

}

}整数
count
Thing
类的静态字段。这意味着单个
Thing
对象没有自己的计数,只有类
Thing
存储
count
的值。因此,每当更新count时,就像在
Thing
构造函数中一样,都会更新相同的变量。这允许
count
变量存储
Thing
对象的数量,因为每次构造
Thing
时,它都会递增一个。

Thing()方法称为构造函数,每次都会触发它,并且从该类生成对象

当一个方法与它所在的类具有相同的名称时,它被识别为构造函数


因此,每次创建对象时,它都会运行“Thing()”构造函数,该构造函数的“count++”会递增count变量。

没有count方法,只有一个字段,它基本上是一个全局变量,在构造函数中递增。请注意,使用可修改的类字段(而不是实例字段)被认为是一种代码味道。相反,您可以使用工厂模式,工厂保存计数。例如,每次创建一个对象时,静态变量Thing.count in都会增加。谢谢,这有助于我的理解,我想这将需要一点时间来了解:)谢谢!所以每次我创建一个类型为Thing的新对象时,Thing构造函数都会运行,因为Thing构造函数会进行计数,所以每次创建Thing对象时,计数都会递增这就是原因吗?还是我的知识有差距?