gpt4 book ai didi

java - 如何动态更改方法内的对象属性

转载 作者:行者123 更新时间:2023-12-02 12:03:17 25 4
gpt4 key购买 nike

我有这个问题,因为我正在努力让我的程序“更好”:P

class GlobalVariables {

int att1;
int att2;
int att2;...

我使用该类来处理我的程序中需要的几乎所有全局值。

该类GlobalVariables包含许多属性,每一个属性都是从传感器检索的,并且可以从 method3 进行更改这是一种将某些值保持在一定范围内的验证方法。

在主类中,我有一个另一个类的对象(比如说 class2 )。

这个对象(比如说 car )有一个方法:

car.method(gl)

glGlobalVariables 的实例.

现在,在方法内部,我调用 method2在里面我打电话method3 (全部来自class2)。

this.method3 (int att1, int att2, int att3,)
this.method3 (int att2, int att3, int att1,)
this.method3 (int att3, int att1, int att2,)

目前我们有很多method3的来电这 3 个参数可以是这些传感器值的组合,因此 att1可能是att37就说话而言。

所以声明 method3就像:

public void method3 (int n1, int n2, int n3){
n3=n1+n2;
}

我应该怎么做才能更改 globalVariable.attXXX当 Java 只是让我们按值传递值时。

我当然可以再创建 2 个方法并调用相应的方法并使用 SET,但我认为这几乎是我想要避免的。

当我说设置时,我的意思是设置者

最佳答案

使用 setter 方法:

static void setAtt3(int x) { att3 = x; }

void method3(int a, int b, IntConsumer setter) {
setter.accept(a + b);
}

调用:

method3(att1, att2, GlobalVariables::setAtt3);

关于java - 如何动态更改方法内的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087069/

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