我可以参考JLS12.4和12.5节中的类加载和初始化过程。只有在访问类的静态变量时才会加载该类,该静态变量不是常量,或者可能正在访问静态方法。在我的例子中,我将变量声明为final,删除final属性,然后将加载check类并运行静态初始化器。以下是修改后的代码 //static final int var= 100;
如果我理解得很好,ClassVar是一种在数据类上创建类变量的方法,该变量不会被视为字段。dataclasses.fields(jake_data) # This will output only two fields, as status is a ClassVar
但是,如果我想在实例初始化后在实例级别修改parent,它不应该是一个ClassVar,因为清楚地表明,ClassVar注释应该只用于在实例级别没有被