由于我不知道如何表达我的问题,因此仅通过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());
    }
}

10-07 13:04
查看更多