Call subclass constructor from abstract class in Java
Posted
by
Joel
on Stack Overflow
See other posts from Stack Overflow
or by Joel
Published on 2009-05-21T07:58:37Z
Indexed on
2012/10/20
5:03 UTC
Read the original article
Hit count: 103
java
public abstract class Parent {
private Parent peer;
public Parent() {
peer = new ??????("to call overloaded constructor");
}
public Parent(String someString) {
}
}
public class Child1 extends parent {
}
public class Child2 extends parent {
}
When I construct an instance of Child1, I want a "peer" to automatically be constructed which is also of type Child1, and be stored in the peer property. Likewise for Child2, with a peer of type Child2.
The problem is, on the assignment of the peer property in the parent class. I can't construct a new Child class by calling new Child1()
because then it wouldn't work for Child2. How can I do this? Is there a keyword that I can use that would refer to the child class? Something like new self()
?
© Stack Overflow or respective owner