gpt4 book ai didi

java - 如何制作接受任何对象作为参数的JAVA方法?

转载 作者:行者123 更新时间:2023-11-29 07:43:20 25 4
gpt4 key购买 nike

假设我有一个包含许多不同类型对象的项目,但它们都有一个实例变量 X,我如何创建一个接受任何类型对象并返回 X 的方法?

伪代码示例:

class Car{
int X =19;
}
class Apple{
int X =21;
}
class Bee{
int X =32;
}
public int GetX(Object ANY_OBJECT_HERE){
return ANY_OBJECT_HERE.X;
}

最佳答案

您有 2 个选择。

  1. 创建一个接口(interface),比如 Xholder,使用一个返回 int 的方法 getX()。让 CarAppleBee 通过返回 X 实现 Xholder。那么,您当前的 GetX 方法是不必要的;任何会调用 GetX(yourObject) 的东西现在都会调用 yourObject.getX()

  2. GetX 中使用反射。使用getClass()获取对象的类,使用getField获取类的Field,传递变量名"X"。从那里您可以获得值(value)。

第一个选项是最好的,因为反射速度较慢且更容易出错。

关于java - 如何制作接受任何对象作为参数的JAVA方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27969797/

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