类Testclass1有一个变量,有一些执行会改变变量的值。现在在同一个包中有类Testclass2。我将如何访问Testclass2中变量的更新值(由Testclass1更新)。 试过这不起作用
注意:Testclass1和Testclass2是同一个包中的两个独立文件,我试图先在eclipse中运行class1,然后再运行class2。但是class2打印0;
public class Testclass1 {
public static int value;
public static void main(String[]args)
{
Testclass1.value=9;
System.out.println(value);
}
}
----------------
public class Testclass2 {
public static void main(String[]args)
{
System.out.println(Testclass1.value);
}
}
答案 0 :(得分:9)
您的问题不是跨类共享值,您希望在后续程序执行中共享值。要做到这一点,你需要在某处保持价值。通常,文件或数据库用于此目的。
答案 1 :(得分:1)
你必须在你的第一个程序中写下这样的东西
public class Testclass1 {
public static int value;
public static void main(String[]args)
{
try
{
Testclass1.value=9;
System.out.println(value);
new FileWriter("test.txt", false).append(String.valueOf(value));
}
catch(Exception ex)
{
//do something
}
}
}
然后在修改后调用第二个程序:
public class Testclass2 {
public static void main(String[]args)
{
try
{
Scanner s = new Scanner(new File("test.txt");
Testclass1.value = s.nextInt();
System.out.println(Testclass1.value);
}
catch(Exception ex)
{
//do something
}
}
}
要注意的事情:
FileWriter
也是一个好习惯。 答案 2 :(得分:0)
如果您可以main
TestClass1
方法执行,它将会起作用。原因是它不起作用,是因为main
TestClass1
方法从未执行过,所以从未设置过该值。