Issue
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?
Solution
You must use extends
public class C extends B
Its important to understand the difference between the implements and extends Keywords. So, I recommend you start reading at this question: Implements vs extends: When to use? What's the difference? and the answers there.
Answered By - Angelo Fuchs
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.