我使用名为GlobalVar
的类来存储整个应用程序所需的一些全局变量。该课程看起来像这样:
public class GlobalVar {
MyProps props = new MyProps();
public GlobalVar() throws Exception
{
}
public static String PPFirstName = "Kim";
public static String PPLastName = "Smith";
String zip = props.Props.getIPZip("IPZip");
public static String IPZip = zip;
}
然而,在最后两行中,我收到错误:
Cannot assign non static variable to static variable.
我理解问题的根源(因为zip
是非静态的,IPZip
是静态的)我的问题是:有什么方法可以解决这个问题吗?即,任何方式将"Props"
中的值集分配给"IPZip"
static var?
注意:使用此方法的目的是我能够在应用程序的任何位置使用语法GlobalVar.IPZip
。
答案 0 :(得分:0)
您正在创建#errors
{
float:left;
margin-left:4.5%;
text-align:left;
color:red;
white-space: nowrap;
}
的实例,然后调用其非静态MyProps
方法。您不能将非静态方法的结果分配给静态变量。
相反,您需要将getIPZip
方法转换为getIPZip
类的静态方法,然后您可以将其结果分配给yor MyProps
变量。
IPZip
然后,您可以使用public static String IPZip = MyProps.getIPZip("IPZip");
在任何地方访问IPZip
。
但是,如果您将GlobalVar.IPZip
方法设为静态,则向getIPZip
类添加另一个变量有点不必要,因为您只需在代码中的任何位置调用GlobalVar
。
另一种选择是将MyProps.getIPZip("IPZip");
方法移到您的getIPZip
类中并将其设为静态方法,然后您可以调用GlobalVar
。
答案 1 :(得分:0)
我可能不完全理解,但为什么你不能这样做?
public static String IPZip = props.Props.getIPZip("IPZip");
而不是稍后分配某些内容?