I've noticed that it's perfectly legal to write
class X implements X {
...
}
but I'm unclear on the semantics. What does it actually do? I want it to mean "X is the name of a class, but we will use it as an interface", but I notice you can write this:
class X {
...
}
interface Y extends X {
}
Which means that implements X
isn't adding that. So what does it add?