如果仅包含最终静态字段,则嵌套类是否应标记为静态?

太阳

我正在使用一个类来存储一些可以在整个应用程序中访问的字符串。看起来像:

public final class Settings {
    public final static class Setting1 {
        public final static String CONFIG = "A config string";
        private Setting1 (){};
    }
    public final class Setting2 {
        public final static String CONFIG = "A config string";
        private Setting2 (){};
    }
}

我发现我可以使用静态嵌套类(例如Setting1)或内部类(例如Setting2)。它们都可以以相同的方式使用:

System.out.println(Settings.Setting1.CONFIG); // Print: A config string
System.out.println(Settings.Setting2.CONFIG); // Print: A config string

因此,如果嵌套类仅包含最终的静态字段,则使用这两个字段有什么不同吗?由于使用私有构造函数,因此不允许实例化。这是否意味着这两个类现在相同?

乔普·艾根(Joop Eggen)

如果嵌套/内部类不访问外部类的this,外部类没有非静态字段或方法,则应将其标记为静态。

实际上,这是另一回事:非静态内部类的外部开销为此:Settings.this除正常之外的a this

是的,您的情况肯定是这样。该内部类的原因/角色当然是样式/名称空间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果仅包含最终静态字段,则嵌套类是否应标记为静态?

来自分类Dev

如果Java类仅包含静态方法和字段,它们是否在计算机(JVM)级别上具有实例?

来自分类Dev

如何命名专用于仅包含仅包含静态字段的类的命名空间?

来自分类Dev

静态最终字段与TrustFinalNonStaticFields

来自分类Dev

使用ModuleBuilder将类标记为“内部静态”

来自分类Dev

静态指针标记为可能丢失的块是否不好?

来自分类Dev

如果对象是IDisposable类的字段,是否应该将对象标记为只读

来自分类Dev

了解类的地图字段上的最终静态用法

来自分类Dev

如果我们访问类的静态最终数据成员,类是否会加载到内存中?

来自分类Dev

如果引用的静态字段是最终的,为什么不执行静态初始化程序

来自分类Dev

当周围的环境限定时,是否应该从嵌套类中看到私有的静态字段?

来自分类Dev

单例类还是仅具有静态字段的类?

来自分类Dev

静态嵌套类

来自分类Dev

类标记为@immutable,实例字段不是使用StatefulWidget最终确定的

来自分类Dev

如果仅在内部使用,为什么要将静态方法标记为私有?

来自分类Dev

为什么Eclipse生成toString仅包含非静态字段?

来自分类Dev

类中的静态字段

来自分类Dev

类中的静态字段

来自分类Dev

如何通过反射仅获取类的非静态(或仅静态)字段或方法?

来自分类Dev

标记为“虚拟最终”的基类方法是否会带来额外的开销?

来自分类Dev

将类标记为静态是二进制的重大更改吗?

来自分类Dev

通过表达式树从嵌套类获取静态字段

来自分类Dev

反射获取单例静态嵌套类的字段

来自分类Dev

Java中的静态类和最终类

来自分类Dev

静态字段 - 如果仅从类创建一个实例

来自分类Dev

嵌套类中的静态成员对封闭类是否具有静态持续时间?

来自分类Dev

嵌套类中的静态成员对封闭类是否具有静态持续时间?

来自分类Dev

仅具有静态方法的类-是否为Enum

来自分类Dev

分配给同名的静态最终字段

Related 相关文章

  1. 1

    如果仅包含最终静态字段,则嵌套类是否应标记为静态?

  2. 2

    如果Java类仅包含静态方法和字段,它们是否在计算机(JVM)级别上具有实例?

  3. 3

    如何命名专用于仅包含仅包含静态字段的类的命名空间?

  4. 4

    静态最终字段与TrustFinalNonStaticFields

  5. 5

    使用ModuleBuilder将类标记为“内部静态”

  6. 6

    静态指针标记为可能丢失的块是否不好?

  7. 7

    如果对象是IDisposable类的字段,是否应该将对象标记为只读

  8. 8

    了解类的地图字段上的最终静态用法

  9. 9

    如果我们访问类的静态最终数据成员,类是否会加载到内存中?

  10. 10

    如果引用的静态字段是最终的,为什么不执行静态初始化程序

  11. 11

    当周围的环境限定时,是否应该从嵌套类中看到私有的静态字段?

  12. 12

    单例类还是仅具有静态字段的类?

  13. 13

    静态嵌套类

  14. 14

    类标记为@immutable,实例字段不是使用StatefulWidget最终确定的

  15. 15

    如果仅在内部使用,为什么要将静态方法标记为私有?

  16. 16

    为什么Eclipse生成toString仅包含非静态字段?

  17. 17

    类中的静态字段

  18. 18

    类中的静态字段

  19. 19

    如何通过反射仅获取类的非静态(或仅静态)字段或方法?

  20. 20

    标记为“虚拟最终”的基类方法是否会带来额外的开销?

  21. 21

    将类标记为静态是二进制的重大更改吗?

  22. 22

    通过表达式树从嵌套类获取静态字段

  23. 23

    反射获取单例静态嵌套类的字段

  24. 24

    Java中的静态类和最终类

  25. 25

    静态字段 - 如果仅从类创建一个实例

  26. 26

    嵌套类中的静态成员对封闭类是否具有静态持续时间?

  27. 27

    嵌套类中的静态成员对封闭类是否具有静态持续时间?

  28. 28

    仅具有静态方法的类-是否为Enum

  29. 29

    分配给同名的静态最终字段

热门标签

归档