[英]Declare a private static nested class with a public constructor Java?
[英]Static map in class - public or private?
我想在其他類中使用靜態Map。 如果可以的話,請告訴我哪種做法更好。 我可以將其設為私有,並為鍵和值提供適當的獲取器和設置器。 另一方面,第二種選擇只是將其聲明為公共,並且在這些類中使用內置Map Collection中的方法。
第一個選項示例:
public class MapClass{
private static Map<int, String> map = new HashMap<>();
public String getValueForKey(int key){
return map.get(key);
}
// other methods
}
public class DifferentClass{
public void writeString(int number){
System.out.println(MapClass.getValueForKey(number));
}
}
第二種選擇示例:
public class MapClass{
public static Map<int, String> map = new HashMap<>();
}
public class DifferentClass{
public void writeString(int number){
System.out.println(MapClass.get(number));
}
}
我寧願使用第一種方法。 首先,如果可能的話,所有類的字段都應該是私有的。 其次,對象不僅應該是帶有getter和setter的容器,還應該提供其他方法來更改數據(例如,如第一個示例中的getValueForKey(int key)
)。 很多有關OOP的書對此都有廣泛的描述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.