我的 Servlet 看起来像这样:
public class MyServlet extends Servlet {
private class Page {
private Page(HttpServletRequest request, HttpServletResponse response) {
/* Do stuff */
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
Page page = new Page(request, response);
/* Do other stuff */
}
}
我还有一个看起来像这样的缓存:
public class Cache {
private Hashtable<String, CacheValue>;
public Cache() {
Hashtable<String, CacheValue> table = new Hashtable()<String, CacheValue>;
}
public void put(String key, String value) {
table.put(key, new CacheValue(value));
}
private class CacheValue {
private value;
private CacheValue(String value) {
this.value = value;
}
}
}
我的问题是:以这种方式使用私有(private)嵌套类有什么问题吗?我知道您通常会在单独的文件中拥有单独的公共(public)类,但 CacheValue
只能由 Cache
使用。 Page
只能由 MyServlet
使用。以这种方式组织类对我来说很有意义,但我不是 Java 的老专家,所以我对其中的优点和缺点很感兴趣。
使用嵌套类通常被视为一种风格问题吗?还是偏好?或者有什么需要避免的?或者降低复杂性的工具?
最佳答案
不,将事情保密并没有什么错。
当代码难以访问时,依赖于它的东西就会减少,这会给你更多的修改自由。
但是,您应该声明您的CacheValue
和Page
类static
,因为它们不访问任何封闭实例的成员。
关于java - 在我的 Java Servlet 中使用私有(private)类有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704906/