0 votes
1 view
ago in Java by (2.1k points)

I wonder if there is a special reason in Java for using always "extends" rather than "implements" for defining bounds of typeparameters.

Example:

public interface C {}

public class A<B implements C>{} 

is prohibited but

public class A<B extends C>{} 

is correct. What is the reason for that?

1 Answer

0 votes
ago by (21.7k points)
There is no denotative variation in the general restraint language between whether a class 'implements' or 'extends'. The constraint circumstances are 'extends' and 'super' - that is, is this class to work with assignable to that different one (extends), or is this class assignable of that one (super).
...