이 코드는 런타임 오류가 발생합니까? 정적 블록에서 인스턴스 변수 사용
A.getContext()
은 null이 아닌 값으로 평가, (일부 안드로이드 라이브러리를 사용했다,하지만 난이 특정 플랫폼 생각하지 않습니다)
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();
}
}
일식 디버거를 사용할 때 혼란스러운 부분입니다.
그러나
anotherContext
는
가사람이이 문제에 대한 어떤 생각을 가지고 있습니까 null로 평가? 감사
편집 :
내 나쁜
이 sContext 정적 변수이지만, 그래서이 경우에는public void onCreate()
{
sContext = getApplicationContext();
}
같이에만 인스턴스 메서드에 값이 할당되고 어떤 행동이 것 있다?
아니요, 런타임 오류가 발생하지 않습니다. 내가 말할 수있는 한 컴파일하지도 않을 것이다. 너 해봤 어? – iamnotmaynard
'오류 : 비 정적 변수 sContext는 정적 컨텍스트에서 참조 할 수 없습니다 .' –