gpt4 book ai didi

java - 如何在java中为public int设置新值

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

在java编程语言中,如何为公共(public)整数设置新值,以便外部类中的外部方法只需调用变量名即可获取该值。我有示例代码:

    package build;

public class Main {

public static void main(String[] args) {
Main main = new Main();
main.init();
}

public int myVar = 1;

编辑:

更具体的问题:如何获取变量的更新值,而不是其起始值而不将其传递给方法?

        public void init() {
Retrieve ret = new Retrieve();
int i = 0;
for(int n = 1; n > 0; ++n) {
myVar = myVar + 1;
System.out.println("Value: " + myVar);
i = ret.init();
System.out.println("Retrieved Value: " + i);
}
}

int getValue() {
int b = myVar;
return b;
}
}

返回:

    package build;

public class Retrieve {

public int init() {
Main main = new Main();
int a = 1;
a = main.getValue();
return a;
}
}

在上面的示例中,如何将变量“myVar”设置为除 1 之外的值,以便当我调用“return”类中的“init”方法时,它返回新值,而不是 1 ,起始值?

最佳答案

您的对象关系存在严重问题。

主要问题在Retrieve.init()

public int init() {
Main main = new Main();
int a = 1;
a = main.getValue();

每次调用 init() 时,您都会创建一个新的 main 实例,因此 main.myVar 将为 1。我假设您想调用第一个 main 的值。

public class Retrieve {

public int init(Main main) {
int a = 1;
a = main.getValue();
return a;
}
}

并在 Main.init 中进行更改

Retrieve ret = new Retrieve();

Retrieve ret = new Retrieve(this);

关于java - 如何在java中为public int设置新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8418984/

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