Java中类内声明的变量 正确术语是attributes/class variables/class fields中的哪一种
Java类内部声明变量的标准术语说明
你示例中给出的、未加static修饰、直接在类作用域下声明的变量,Java生态有明确的官方标准命名:
核心结论
Java语言规范(JLS)中统一将这类变量归类为字段(field),根据修饰符不同再做细分:
- 不带
static修饰(就是你示例里的所有变量):官方标准术语为实例字段(instance field),也可称为实例变量(instance variable),国内开发场景下常说的「成员变量」通常也指代这类变量,属于行业通用的合规表述。 - 带
static修饰:官方标准术语为类字段(class field),也可称为类变量(class variable),归属于类本身而非实例,所有类实例共享该变量的值。
你提到的几个常见表述的区分
attributes:不属于Java官方术语,是通用面向对象设计、UML建模领域的常用表述,不建议在Java技术规范相关的场景下使用。class variables:仅指代带static修饰的类变量,不覆盖你示例中的非static变量场景,不要混用。class fields:狭义上仅指代static修饰的类字段,部分语境下会被泛用来指代所有类内声明的字段,建议明确区分instance/class前缀避免歧义。
内容的提问来源于stack exchange,提问作者Lloyd
相关产品推荐
相关产品推荐

