無法從靜態上下文中引用非靜態變數

2021-08-28 02:52:35 字數 378 閱讀 1010

non-static variable mainframe cannot be referenced from a static context

即在靜態方法中不能引用非靜態變數

為什麼?

因為我們知道靜態的方法可以在沒有建立例項時使用,而申明為非靜態的成員變數是乙個物件屬性,它只有在物件存在時引用,因此如果在物件未建立例項時我們在靜態方法中呼叫了非靜態成員方法自然是非法的,所以編譯器會在這種時候給各錯誤.

簡單說來,靜態方法可以不用建立物件就呼叫,非靜態方法必須有了物件的例項才能呼叫.因此想在靜態方法中引用非靜態方法是不可能的,因為它究竟引用的是哪個物件的非靜態方法呢?編譯器不可能給出答案,因為沒有物件啊,所以要報錯.

介面是抽象的。介面中的方法可以不必被實現。

程序上下文 中斷上下文

請問程序上下文是什麼意思?1.程序上下文一般在程序切換中提到,也就是當程序要切換時關於當前程序的暫存器內容以及記憶體頁表的詳細資訊等等內容,一句話概括也就是關於描述程序的資訊。2.同意樓上的,就是很多書本上提到的程序控制塊pcb,儲存著程序的很多詳細資訊 3.補充 linux完全注釋中的一段話 當乙...

程序上下文 中斷上下文

核心空間和使用者空間是現代作業系統的兩種工作模式,核心模組執行在核心空間,而使用者態應用程式執行在使用者空間。它們代表不同的級別,而對系統資源具有不同的訪問許可權。核心模組執行在最高端別 核心態 這個級下所有的操作都受系統信任,而應用程式執行在較低級別 使用者態 在這個級別,處理器控制著對硬體的直接...

程序上下文 中斷上下文

當乙個程序在執行時,cpu的所有暫存器中的值 程序的狀態以及堆疊的內容被稱為該程序的上下文。程序上下文 當核心需要切換到另乙個程序時,它需要儲存當前程序的所有狀態,即儲存當前程序的上下文,以便在再次執行該程序時,能夠得到切換時的狀態執行下去。中斷上下文 在linux中,當前程序上下文均儲存在程序的任...