此代碼是否會導致運行時錯誤? (已經使用了一些Android的庫,但我不認爲這是特定於平臺)在靜態塊中使用實例變量
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();
}
}
使用eclipse調試時,混淆的部分是,
A.getContext()
計算爲一個非空值。
然而
anotherContext
值爲空
沒有人有這種行爲的任何想法? 感謝
編輯:
我的壞,sContext是一個靜態變量,但它正在所以在這種情況下,只有在實例方法分配一個值作爲
public void onCreate()
{
sContext = getApplicationContext();
}
會是什麼行爲是?
不,它不會導致運行時錯誤。就我所知,它甚至不會編譯。你試過了嗎? – iamnotmaynard
'錯誤:非靜態變量sContext不能從靜態上下文中引用' –