gpt4 book ai didi

java - 将多个对象类型传递给单一类型的方法

转载 作者:行者123 更新时间:2023-12-01 18:25:27 24 4
gpt4 key购买 nike

我有多个具有不同名称的类,但它们都具有相同的变量名称。我想将它们传递给一个方法并直接访问变量。下面的示例只显示了两个,但我还有更多。

Class1{
float x,y;
MyArrayObj myarrayobj;//this is new'ed.
}
Class2{
float x,y;
MyArrayObj myarrayobj;//this is new'ed.
}

static myGenericMethod(GenericClassObj myObj){

float x = myObj.x;
float pt = myObj.myarrayobj.array[0];

}

这可能吗,还是我必须使用“getters/setters”?

最佳答案

如果所有这些类共享公共(public)字段,请将这些字段提取到父类(super class)并使现有类扩展它。然后,您的泛型方法采用父类(super class)类型的对象并直接访问字段。

abstract MySuperClass{
float x,y;
MyArrayObj myarrayobj;//this is new'ed.
}
Class1 extends MySuperClass{
// Class1 specific fields and methods
}
Class2 extends MySuperClass{
// Class2 specific fields and methods
}

static myGenericMethod(MySuperClass myObj){
float x = myObj.x;
float pt = myObj.myarrayobj.array[0];
}

如果您不希望实例化父类(super class),请使其抽象(如上所述)。

关于java - 将多个对象类型传递给单一类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372564/

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