我有一个类Foo
,其中包含一个static Map<String, String> myMap
和一些public static
方法,这些方法操纵myMap
。
myMap
是我项目中某些类的通用Map(“通用内容”)。
需要myMap
的那些类仅从其中读取数据,并始终使用myMap
中的方法更改Foo
中的数据。
我的问题是:就我而言,声明和访问myMap
的最佳实践如何?以public static
的身份访问和以Foo.myMap
的身份访问,或者以private static
的身份访问,以Foo.getMyMap()
的身份访问,这将返回myMap
(new HashMap<String, String>(myMap)
)的副本。还是这仅取决于我的喜好?
答案 0 :(得分:3)
按照以下顺序执行以下步骤:
static
,因为这与OOP原则无关。static
,则无论使用哪种访问方式,该字段都必须为final
。getters
可见性修饰符,更喜欢public
。但是,是的,这总是取决于您的偏好。