gpt4 book ai didi

java - 从主类调用参数到另一个文件中的另一个文件(1个包)

转载 作者:行者123 更新时间:2023-11-30 06:50:05 24 4
gpt4 key购买 nike

我有 2 个这样的 java 文件:

Test1.java

package beiobligasi;

public class Test1 {

public static void main( String args[] ) {
Test2.Test2(args);
String var1 = "Only test!";
}
}

Test2.java

package beiobligasi;

public class Test2 {
static void Test2(String[] args) {
String source = new Test1().var1;
System.out.println("Testing result = " + source);
}
}

基本上,我想使用 Test1.java 中 main 的参数,然后在 Test2.java 的 Test2 类中调用它。

如果我在主程序之外更改 Test1.java 中的字符串参数,程序将正常工作:

Test1.java

package beiobligasi;

public class Test1 {
String var1 = "Only test!";

public static void main( String args[] ) {
Test2.Test2(args);
}
}

但是我需要在 main 中使用字符串参数,因为我会将它用于另一个函数......任何人都可以帮我修复代码,以便我可以使用仍在 main 中的字符串参数吗?

最佳答案

您将 var1 设置为 Test1 中的局部变量,因此它仅在局部范围内可用。要从类外部访问变量,您必须将其设置为类的属性:

public class Test1 {

public String var1 = "Only a test!";

static int main() {
...
}
}

现在,当然,您无法从 main 中分配此变量,因为它是一个实例变量,并且 main 是静态的(静态方法不知道要分配该值的实例)到)。

因此,您也可以将该属性设为静态:

public class Test1 {

public static String var1;

static int main(String[] args) {
var1 = "This is a test!"; // Set var1 first
Test2.Test2(args); // The call function that does something with var1
}
}

然后您可以从 Test2 访问静态属性,如下所示:

public class Test2 {
public static void Test2(String[] args) {
String source = Test1.var1;
...
}
}

关于java - 从主类调用参数到另一个文件中的另一个文件(1个包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42994555/

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