Overriding generic methods with non-generic implementations

后端 未结 2 1556
傲寒
傲寒 2021-01-03 03:48

I\'m experimenting with generics in Java, and thought of this example.

If I have ClassA, I can override it with a subclass that references a co

2条回答
  •  情歌与酒
    2021-01-03 04:36

    In short, the the answer is no. If you define a method with a generic parameter, then its signature contains a the generic and any "overrides" would have to match the signature (contain a generic).

    Anyhow, this really is a poor use of generics, as what you've written is semantically the same as

    public void doSomething(Object data) {}
    

    The generic bit doesn't buy you much unless is it being used to indicate what the return value would be, as in:

    public  T doSomething(T data) {}
    

    But why bother? Is there really an issue calling doSomething() generically?

提交回复
热议问题