首页 文章

Java - 内部私有类,仅用于封装外部类的构造

提问于
浏览
0

这是一个好的做法,有类,即内部类(不是静态的),只有任务是构造和启动外部类的对象(在她的构造函数中)?这个类的生命周期等于外类构造函数的生命周期 .

这是一个例子:

OuterClass {
    // (...fields here...)
    private ConstructClass {
        // (...some useful methods and fields here...)
        public ConstructClass(String param1, int param2, ...) {
           // (...construction of OuterClass here...)
        }
    }
    public OuterClass(String param1, int param2, ...) {
        new ConstructClass(param1, param2, ...);
    }
}

1 回答

  • 0

    看起来像我试图重新发现builder pattern :) . 你非常接近它,如果你改变你的构造函数只设置单个字段,而不是创建整个对象,那么它会好得多 .

    创建构建器可能会导致效率降低(必须保留jvm中的额外内存),但它可以大大减少您必须创建的不同参数化构造函数的数量 - 代码更加清晰 . 修改代码以实现构建器范例是值得考虑的,但最终的决定取决于您 .

相关问题