假设我有3个课程:A
,Data
和B
我传递了一个来自A类的变量,该变量将传递的变量设置为类Data的数据public static
method
中的setData()
变量并尝试获取相同的值(我是在课堂上分配class A
)
B
使用数据的类method
getData()
。
方法是public
and static
公共类数据{
public static string nameD;
public static void setData(String name){nameD = name; }
public static String getData(){return nameD; }
}
公共类A {
String nameA =“Test”;
Data.setData(NAMEA); }
公共等级B {
String nameB; nameB = Data.getData(); 的println(nameB); }
但是在class B
中给出了空字符串。
我该怎么做??
答案 0 :(得分:1)
只需调用第一个类A来设置类Data的值,然后调用类B来获取数据中的值。
例如:
public class A{
String nameA="Test";
public A() {
Data.setData(nameA);
}
}
public class B{
String nameB;
B() {
nameB = Data.getData();
System.out.println(nameB);
}
}
public class Data{
public static String nameD;
public static void setData(String name){ nameD = name; }
public static String getData(){ return nameD; }
}
然后,如果你做了以下,你将获得你的价值 新的A(); 新B();
答案 1 :(得分:0)
您可以传递对象,并在您传递的对象中有一个静态字段。
答案 2 :(得分:0)
这不是有效的代码,因为您无法在任何方法之外执行Data.setData()
之类的语句。
如果你把这段代码放在A类的一个方法中,然后以正确的顺序在你的主程序中调用这个方法(在调用getData()
之前),那么代码仍然会很混乱,但你应该得到你的期望的结果。