【发布时间】:2019-11-30 21:42:04
【问题描述】:
让我们来看看下面这个带有静态内部类的类。
@Getter
@Setter
public class Request {
private String contactUrl;
private Resources resources;
@Getter
@Setter
private static class Resources {
private String basketId;
private String customerId;
}
}
我需要像这样从另一个类访问basketId:
Request request = new Request();
request.getResources.setBasketId("5");
除非我将Resources 类定义为public,否则不会编译。
在保持Resources 私有的同时使用Lombok 访问该字段还有其他方法吗?
【问题讨论】:
-
公开内部类有什么问题?如果它是从 getter 中返回的,那么用户已经知道它的存在以及它有哪些方法。您想通过将其设为私有来实现什么目标?
-
非静态内部类对象需要封闭类的对象,而嵌套(静态)类对象则不需要。这是一个正当的理由,尽管我并不是说这是 OP 的理由。