Я использую класс под названием GlobalVar
для хранения некоторых глобальных переменных, необходимых для всего приложения. Класс выглядит примерно так:Java: Назначение нестатической переменной для статической переменной
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
статично) мой вопрос: есть ли какой-либо путь вокруг этого? I.e, любой способ присвоить значение, установленное в "Props"
, "IPZip"
static var?
Примечание: Цель использования этого метода является то, что я могу использовать синтаксис GlobalVar.IPZip
в любом месте приложения ..
Это, скорее всего, проблема с дизайном. Вы изучали использование других методов сохранения глобальной переменной? Не могли бы вы превратить свой класс «GlobalVar» в POJO с помощью геттеров и сеттеров? Возможно, используйте шаблон Singleton, если вы беспокоитесь о том, что используются несколько экземпляров класса. – CubeJockey