gpt4 book ai didi

java - 不同类中的方法之间的 "share"变量的正确方法是什么?

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

我正在尝试在不同类的方法之间共享变量,但我不知道我是否以正确的方式执行此操作。基本上,当我想在method2上使用变量时,我必须将它们从A类通过method1“传输”到method2,只需看一下示例,因为我不知道如何正确解释这一点。

这是正确的方法吗?因为有时我会一遍又一遍地执行此操作,但看起来很丑。

示例:

public class A {
int var1, var2, var3;
B b = new B();
b.method1(var1, var2, var3);
}

public class B {
public void method1(int var1, int var2, int var3){
//doSomething
method2(var2, var3);
}

public void method2(int var2, int var3){
//doSomething
}
}

顺便说一句,有没有进行代码审查的社区?我对代码还很陌生,担心我创建的代码无效。

感谢您的帮助! :)

最佳答案

使用 getter 和 setter 从 B 获取 A 类的变量,如下所示。

public class A {

private int var1, var2, var3;

public int getVar1(){
return var1;
}

public void setVar1(int var1){
this.var1 = var1;
}

public int getVar2(){
return var2;
}

public void setVar2(int var2){
this.var2 = var2;
}

public int getVar3(){
return var3;
}

public void setVar3(int var3){
this.var3 = var3;
}
}

public class B{

// Use var 1 from class A as following
A a = new A();
int x = a.getVar1(); //x has the value of Var1 now
a.setVar1(2); // var1 in class A has value 2 now.
}

使用接口(interface)而不是直接调用另一个类的方法。

public class A {
private InterfaceB interfaceB;

interfaceB.method1(var1, var2, var3);
}

public interface InterfaceB{
public void method1(int var1, int var2, int var3);
public void method2(int var2, int var3);
}

public class B implements InterfaceB{

@Override
public void method1(int var1, int var2, int var3){
//doSomething
method2(var2, var3);
}

@Override
public void method2(int var2, int var3){
//doSomething
}
}

关于java - 不同类中的方法之间的 "share"变量的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32071388/

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