为什么在构造函数之前调用方法

时间:2017-08-07 09:56:02

标签: java inheritance polymorphism abstract-class

我有2个班级:

public abstract class Parent {
    private AnyObject anyObject = createObject();

    public abstract AnyObject createObject();
}

public class Child extends Parent {
    public Child() {
        System.out.println("Constructing child...");
    }

    @Override
    public AnyObject createObject() {
        System.out.println("Creating object...");
        return new AnyObject();
    }
}

构建孩子

Child c = new Child();

打印以下行:

Creating object...
Constructing child...

必须先构造一个对象,然后才能调用该方法。我知道父母必须在孩子面前建造,而我的父母是一个非常不寻常的例子。我需要在构造函数中设置一些将在createObject()中使用的字段。

0 个答案:

没有答案