在java中,如果我扩展一个类并不使用';t在重新定义每个函数时不使用超级字段字段是否仍使用内存?

在java中,如果我扩展一个类并不使用';t在重新定义每个函数时不使用超级字段字段是否仍使用内存?,java,memory,Java,Memory,在java中,如果我扩展了一个类,并且在重新定义每个函数时不使用超级字段,那么字段是否仍然使用内存?是的,字段仍然消耗内存。是的!它默认进入子类并占用内存 字段仍然存在。基本字段使用它们所需的内存(例如,ints为32位),参考字段(“对象指针”)即使为空也占用32位。即使未被积极使用,字段也必须存在,因为编译器无法确定是否有人需要它们。吹毛求疵,理论上很少有可能证明字段不需要;i、 e.如果字段都是私有的,并且子类中未使用/重写访问这些字段的所有构造函数/方法。但这是如此罕见,不值得解决。(此

在java中,如果我扩展了一个类,并且在重新定义每个函数时不使用超级字段,那么字段是否仍然使用内存?

是的,字段仍然消耗内存。

是的!它默认进入子类并占用内存

字段仍然存在。基本字段使用它们所需的内存(例如,
int
s为32位),参考字段(“对象指针”)即使为空也占用32位。即使未被积极使用,字段也必须存在,因为编译器无法确定是否有人需要它们。

吹毛求疵,理论上很少有可能证明字段不需要;i、 e.如果字段都是私有的,并且子类中未使用/重写访问这些字段的所有构造函数/方法。但这是如此罕见,不值得解决。(此外,仍然存在对字段的反射访问问题。)你是对的,但反射确实使访问修饰符仅提供信息。