我的 Bean 类中有一个内部 Bean 类。在 MyBean 类方法中,我将创建内部 bean 类的实例,然后设置一些字段值。请参阅我的示例代码。
我的问题是:因为我们直接将值设置为字段,所以方式 1 的性能是否比方式 2 更好?我们应该使用哪种方式?谢谢。
public class MyBean {
public void myMethod() {
String p1 = "calculate p1";
String p2 = "calculate p2";
// WAY 1
InnerBean innerBean = new InnerBean();
innerBean.p1 = p1;
innerBean.p2 = p2;
// WAY 2
InnerBean innerBean = new InnerBean(p1,p2);
innerBean.doSomething();
}
// WAY 1
private class InnerBean {
private String p1;
private String p2;
public void doSomething() {
System.out.println(p1 + p2);
}
}
// WAY 2
private class InnerBean {
private String p1;
private String p2;
public InnerBean1(String p1, String p2) {
this.p1 = p1;
this.p2 = p2;
}
public void doSomething() {
System.out.println(p1 + p2);
}
}
}
最佳答案
我认为性能不会有显着差异。这更多的是设计和风格的问题。
常见的方法是使用构造函数或 setter 和 getter。这符合“信息隐藏”的设计原则。由于这将是大多数开发人员期望看到的方式,因此对于我们大多数人来说这也更容易阅读。
但是由于内部类是私有(private)的,我想说如果这在您的团队中很常见,那么使用直接访问内部类的字段是绝对可以的。这可能会导致代码变得纤细。
关于java - 在 Java 中设置内部类实例的字段值的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21046907/