gpt4 book ai didi

java - 关于修饰符的内存问题

转载 作者:行者123 更新时间:2023-11-30 03:44:32 24 4
gpt4 key购买 nike

我在想Java中这些修饰符有什么区别吗?例如:我有一个 int 值: 公共(public)整数; 私有(private)整数; 公共(public)静态整数; 私有(private)静态整数; 公共(public)最终 int = ?; 私有(private)静态最终int = ?;因为我在 Minecraft 中看到资源位置是私有(private)静态最终的。它们之间的内存消耗有什么区别吗?

最佳答案

声明为static的所有属性都属于一个类,而不是非静态实例属性,后者是为每个实例化的对象分配的。所以,是的,static 属性最终会消耗“更少的内存”,因为它们只为所有类的实例创建一次。

但是,认为将一个属性声明为 static 只是为了消耗更少的内存是不对的,您创建一个属性是因为您希望在该类的所有实例之间共享相同的值,这就是通常是糟糕设计的迹象。一个异常(exception)是属性被声明为static final,这意味着它具有常量值并且可以在类级别安全地声明。

关于java - 关于修饰符的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com