A subclass needs to define some property.
Can I write something like
abstract class AbstractSuperClass {
protected Entity entity;
protected abstract Action action; // all subclasses must define this on their own
public AbstractSuperClass(Entity entity) {
this.entity = entity;
}
public void operate() {
this.action.doVoidMethod();
}
}
public class SubClass extends AbstractSuperClass {
public SubClass(Entity entity) {
super(entity);
this.action = new Action(); // I define the "abstract" property
// now I expect SubClass.operate() to do this.action.doVoidMethod();
}
}
Now, does calling new SubClass(entity).operate()
do this.action.doVoidMethod()
?
My "problem" is that the AbstractSuperClass
doesn't (it can't) define the property action
, but subclasses must define it.