【发布时间】:2023-09-17 07:37:01
【问题描述】:
我是一名 c++ 开发人员,正在努力熟悉核心 Java 概念。 我发现这令人困惑,因为我的最终静态是在构造对象后无法更改的东西。 (如果我错了,请纠正我)
我遇到了下面的实现,我觉得很困惑,因为它似乎允许将值添加到 Map 中,即使它是最终静态的
public class MockUserServiceImpl implements UserService {
private static final Map<String, User> userMap = new HashMap<String, User>();
public static void addUserToCache(int userId, String userName) {
if (!userMap.containsKey(userName)) {
userMap.put(userName, new User(userId, userName));
}
}
}
有人能解释一下这里的静态final到底是什么意思
【问题讨论】:
-
好吧,解释一下为什么盲目地说没用更有意义。即使这是一个愚蠢的问题,我也想在这里理解。
-
您是否尝试过查找?
-
是的:)。实际上,这让我感到困惑。用户如何可以选择将信息添加到地图中。相反,如果它只是静态的,那将是有意义的。尝试看看是否也可以提供任何在线参考。
标签: java encapsulation final static-members