posted 19 years ago
To Steve: What benefit would such a distinction serve? People are barely aware that interfaces extend other interfaces (rather than implement them) anyway. So OK, let's pretend they can be educated. You're proposing that "final" should prevent an interface from being extended, but not from being implemented. Why? What's a scenario where this would matter? And assuming such a scenario exists, why couldn't someone just create an abstract class which "implements" the interface, without actually providing a concrete implementation? I'm not sure why this would matter; I'm just observing that the difference between extending and implementing is foggy at best. Either way you're creating a subtype, inheriting the previous declarations - and you may or may not get around to actually implementing them with a particular class. Adding additional arbitrary rules at this point doesn't seem to help, in my opinion.
"I'm not back." - Bill Harding, Twister