引用构造函数中的方法(java) A类{ 私有列表=新的ArrayList(); 私人B示例; 公众A(名单){ this.list=列表; this.example=setExample(); } 私有B setExample(){ B对象; //对清单做点什么 返回对象; } }

引用构造函数中的方法(java) A类{ 私有列表=新的ArrayList(); 私人B示例; 公众A(名单){ this.list=列表; this.example=setExample(); } 私有B setExample(){ B对象; //对清单做点什么 返回对象; } },java,methods,constructor,Java,Methods,Constructor,这样的事情可能吗?该对象有一个列表,但我希望该列表的特定元素也存储在该对象中。是的,只要该方法不可重写就可以。不能在构造函数中调用可重写的方法 因此,如果该类被设计为从继承,那么setExample()方法应该是最终的,如果它是公共的或受保护的,但它是私有的,因此这不是一个问题。是的,这可以正常工作,但不需要用空列表初始化变量列表,因为您在构造函数中将传递的列表分配给它,实际上又将新列表扔掉了。您是对的,我不知道为什么要在这里添加它。谢谢,谢谢!这给我省去了很多麻烦。 class A {

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

是的,只要该方法不可重写就可以。不能在构造函数中调用可重写的方法


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

是的,这可以正常工作,但不需要用空列表初始化变量
列表,因为您在构造函数中将传递的列表分配给它,实际上又将新列表扔掉了。

您是对的,我不知道为什么要在这里添加它。谢谢,谢谢!这给我省去了很多麻烦。
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;
    }

}