Thanks Ritchie !
An interface means the list of public methods, with their signatures and return types. That is why they chose to call it "interface." But it has no functionality; all its methods are unimplemented. So whoever uses the interface has to implement all its methods, hence the use of the keyword "implements."[/QB]
Yeah, i do know about the implements Key-word, which says that my class will try n "fulfill" the Contract of the INTERFACE...
Well, but an Abstract class too
may or may NOT provide any functionality at all...
i was wondering as to WHY not ALLOW a class to EXTEND an INTERFACE...thereby "inheriting" its CONTRACT ( list of methods, which are by default,
public abstract )...
...BUT, since, i EXTENDED & Not IMPLEMENTED the Interface...i Did NOT "Fulfil" the INTERFACE...So, i should mark my CLASS as ABSTRACT...so that, ANY CONCRETE class "down the family-tree" WILL have to implement the abstract methods in my ABSTRACT class, as well as the INTERFACE...
Hmmm...! ...I don't see anything wrong in my chain of reasoning...except for something subtle in the
JLS itself...may be, something's gonna cause problems if THIS feature is ALLOWED..& hence they've BLOCKED it in the Language itself ?!?
Me still thinking on it..!
Please Lemme know if you hit upon anthing in this regard...ok ?!
Cheers,
"calvin"