Java 如何从subclass更改在super类中指定的泛型类参数? public类Class2扩展了Class1{} 公共类Class3扩展了类2{}

Java 如何从subclass更改在super类中指定的泛型类参数? public类Class2扩展了Class1{} 公共类Class3扩展了类2{},java,generics,subclass,Java,Generics,Subclass,在3班,我想把B改成C,可以吗? 谢谢 public类Class2扩展了Class1{} 公共类Class3扩展了类2{} 这是一种方法,然后再说一次。。最好是从Class1扩展Class3并对其进行更改 public class Class2<B> extends Class1<A, B>{} public class Class3<C> extends Class2<C>{} public类Class2扩展了Class1{} 公共类Cla

在3班,我想把B改成C,可以吗?
谢谢

public类Class2扩展了Class1{}
公共类Class3扩展了类2{}
这是一种方法,然后再说一次。。最好是从Class1扩展Class3并对其进行更改

public class Class2<B> extends Class1<A, B>{}

public class Class3<C> extends Class2<C>{}
public类Class2扩展了Class1{}
公共类Class3扩展了Class1{}

不。如果你想这样做,也要使
Class2
泛型。为什么会更好?因为那样他就不必为了这个而使Class2泛型,但是现在
Class3
实例将不能分配给
Class2
引用,所以代码的语义已经改变了。是的,但这就是接口的用途,你不必继承所有东西来实现多态性。编辑:但由于我们不知道完整的设计,我们所说的一切都是理论上的lol。谢谢你的快速回复。扩展Class2的原因是重用Class2中的一些公共代码。在我的情况下,B是一个视图类,我想更改Class3中的视图B,同时重用Class2中的公共代码。
public class Class2<B> extends Class1<A, B>{}

public class Class3<C> extends Class2<C>{}
public class Class2 extends Class1<A, B>{}

public class Class3 extends Class1<A, C>{}