由于我不知道如何表达我的问题,因此仅通过Google搜索就可以得到帮助,因此我决定在这里提问。我只是在寻找一种方法来告诉方法,它应该使每个Object扩展某个类。这是到目前为止我尝试过的事情:
public void method( Object<? extends Component> obj );
public void method( Component c );
第二个问题是我必须在method()接受它之前将每个实例再次强制转换为Component,而第一个实例对我却不起作用。谁能给我快速解决方案?
最佳答案
第二个问题是我必须强制转换每个实例
在method()接受之前,再次访问Component
不,您不必强制转换任何内容,这就是多态性的工作原理。
例如:
class A {
}
class B extends A {
}
class C extends B {
}
public class Main {
private void method(final A a) {
}
public static void main(final String[] args) {
final Main main = new Main();
main.method(new B());
main.method(new C());
}
}