abstract class B
{
}
public abstract class A
{
public abstract B createBInstance();
}
public class C extends A {
@Override
public D createBInstance() {
return new D;
}
}
where
public class D extends B
{
}
This give a compiler error saying attempting to use incompatible return type. Can't I do this. Any suggestions to avoid this error?