Let's assume I got this interface A:
interface A
{
    void doThis();
    String doThat();
}
So, I want some abstracts classes to implement the method doThis() but not the doThat() one:
abstract class B implements A
{
    public void doThis()
    {
        System.out.println("do this and then "+ doThat());
    }
}
abstract class B2 implements A
{
    public void doThis()
    {
        System.out.println(doThat() + "and then do this");
    }
}
There error comes when you finally decide to implement de doThat method in a regular class:
public class C implements B
{
    public String doThat()
    {
        return "do that";
    }
}
This class leads me to the error aforementioned:
"The type B cannot be a superinterface of C; a superinterface must be an interface"
Anyone could now if this hierarchy of classes is valid or should I do other way round?
 
     
     
     
     
    