Будет ли этот код приводить к ошибке времени выполнения? (Использовал некоторый андроид библиотеки, но я не думаю, что это зависит от платформы)с использованием переменной экземпляра в статическом блоке
class A
{
Context sContext;
public A()
{
//initialize sContext here
}
public static Conext getContext()
{
return sContext;
}
}
class B
{
public static Context anotherContext;
static
{
anotherContext = A.getContext();
}
}
Запутанной часть при использовании затмения отладчика,
A.getContext()
вычисляется в ненулевое значение.
Однако
anotherContext
оценивает обнулить
Кто-нибудь есть представление об этом поведении? Благодаря
Edit:
Мой плохо, sContext является статической переменной, но в настоящее время присваивается значение только в методе экземпляра как в
public void onCreate()
{
sContext = getApplicationContext();
}
Так что в этом случае, что бы поведение быть?
Нет, это не приведет к ошибке во время выполнения. Насколько я могу судить, он даже не будет компилироваться. Ты это пробовал? – iamnotmaynard
'ошибка: нестатическая переменная sContext не может ссылаться на статический контекст' –