I have 2 classes:
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();
}
}
Constructing child
Child c = new Child();
prints the following lines:
Creating object...
Constructing child...
An object must be constructed before a method can be called upon that. I know that a parent must be constructed before a child and mine is a very unusual example. I need to set a few fields in constructor which will be used in createObject().