定义这样的类有什么好处?

时间:2014-09-29 09:48:52

标签: java

我刚刚看到这段代码,我看不出以这种方式定义类的好处。任何人都可以解释我为何/何时使用这种表示法?

起初我认为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();     
}

1 个答案:

答案 0 :(得分:0)

这意味着B可以是ClassB或ClassB的任何子类型,C可以是ClassC或ClassC的任何子类型。因此,您指定的是您允许的类型B和C.

你可以找到一些额外的好答案here