Вы можете реализовать AbstractChild
, наследующий от Parent
, а затем расширить этот класс вместо Parent
:
public class Parent {
....
}
public abstract class AbstractChild extends Parent{
public abstract void foo();
}
public class Child1 extends AbstractChild {
....
public void foo() {
....
}
}
public class Child2 extends AbstractChild {
....
public void foo() {
....
}
}
. Поэтому вам нужно только проверить, является ли ваш экземпляр instanceof AbstractChild
.