靜態方法不能直接訪問非靜態方法
1、main方法是靜態方法,靜態方法屬於類方法,是類本身去呼叫,不是類的例項去呼叫
2、例項方法,不屬於類的方法,所以必須依靠物件來呼叫
3、靜態方法中訪問另外乙個普通方法,就只能建立乙個物件,因為普通方法依靠物件呼叫
4、靜態方法不能直接訪問非靜態方法,對於靜態方法,一般是通過類名.方法名
呼叫
如果確實需要在靜態方法中訪問另外乙個普通方法,就只能建立乙個物件
public
class
test1
public
static
void
main
(string[
] args)
}
為什麼靜態方法不能直接訪問非靜態成員
static成員是在jvm的classloader載入類的時候初始化的,而非static的成員是在建立物件,即new 操作的時候才初始化的 類載入的時候初始化static的成員,此時static 已經分配記憶體空間,所以可以訪問 非static的成員還沒有通過new建立物件而進行初始化,所以必然不可...
為什麼靜態方法不能直接訪問非靜態成員?
static成員是在jvm的classloader載入類的時候初始化的,而非static的成員是在建立物件,即new 操作的時候才初始化的 類載入的時候初始化static的成員,此時static 已經分配記憶體空間,所以可以訪問 非static的成員還沒有通過new建立物件而進行初始化,所以必然不可...
為什麼靜態方法不能直接訪問非靜態成員?
static成員是在jvm的classloader載入類的時候初始化的,而非static的成員是在建立物件,即new 操作的時候才初始化的 類載入的時候初始化static的成員,此時static 已經分配記憶體空間,所以可以訪問 非static的成員還沒有通過new建立物件而進行初始化,所以必然不可...