参考构造函数中的方法(java)

时间:2015-03-14 17:01:35

标签: java methods constructor

class A {

    private List<B> list = new ArrayList<B>();
    private B example;

    public A(List<B> list) {
        this.list = list; 
        this.example = setExample();
    }

    private B setExample() {
        B object;
        //do something with the list
        return object;
    }

}

这样的事情会成为可能吗?该对象有一个列表,但我希望该列表的特定元素也存储在对象中。

2 个答案:

答案 0 :(得分:1)

是的,只要方法不可覆盖就没问题。不能在构造函数中调用可覆盖的方法。

因此,如果此类被设计为继承,则setExample()方法应该是最终的,如果它是公共的或受保护的,但它是私有的,因此这不是问题。

答案 1 :(得分:0)

是的,这样可以正常工作,但是您不需要使用空列表初始化变量list,因为您在构造函数中将传递的列表分配给它,从而有效地再次抛出新列表。