我在考虑Java中的这些修饰符之间是否有任何区别。例如:我有一个int值。私人int; 公共静态整数;私有静态整数;public final int =?; private static final int =?; 因为我在Minecraft中看到资源位置是私有的静态最终版本。它们之间在内存消耗方面有什么区别吗?
与为实例化的每个对象分配static
的非静态实例属性相反,所有声明为的属性都属于一个类。因此,是的,static
属性最终会消耗“更少的内存”,因为每个类实例仅创建一次。
但是,认为将一个属性声明static
为消耗更少的内存,创建一个属性是不正确的,因为您想在该类的所有实例之间共享相同的值,而且这通常不是不良设计的标志。当属性声明为时static final
,这是一个例外,这意味着它具有恒定的值,并且可以在类级别安全地声明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句