gpt4 book ai didi

Java - 扩展给定对象的任何实例的方法参数

转载 作者:行者123 更新时间:2023-11-29 03:09:13 26 4
gpt4 key购买 nike

因为我不知道如何表达我的问题以便仅通过 Google 搜索就能​​获得有用的结果,所以我决定在这里提问。我只是在寻找一种方法来告诉方法它应该采用扩展某个类的每个对象。以下是我到目前为止尝试过的事情:

public void method( Object<? extends Component> obj );

public void method( Component c );

第二个的问题是我必须在 method() 接受它之前将每个实例再次转换为组件,而第一个对我不起作用。谁能给我一个快速的解决方案?

最佳答案

The problem with the second one is that i have to cast every instance to Component again before method() accepts it

不,你不必转换任何东西,这就是多态性的工作原理。

例如:

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());
}
}

关于Java - 扩展给定对象的任何实例的方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com