我刚刚看到这段代码,我看不出以这种方式定义类的好处。任何人都可以解释我为何/何时使用这种表示法?
起初我认为ClassW的一个实例允许你从ClassB和ClassC访问方法但我看不到。这只是一个符号......但为什么呢?
class ClassW extends ClassZ {
}
abstract class ClassZ extends ClassA<ClassB, ClassC> {
}
class ClassA<B extends ClassB, C extends ClassC> {
B b;
C c;
}
abstract class ClassB {
public abstract void isB();
}
abstract class ClassC {
public abstract void isC();
}
答案 0 :(得分:0)
这意味着B可以是ClassB或ClassB的任何子类型,C可以是ClassC或ClassC的任何子类型。因此,您指定的是您允许的类型B和C.
你可以找到一些额外的好答案here