static內容方面
static變量static方法static類static方法方面
訪問覆蓋(override)調用this,superstatic變量和static方法表明該變量或者該方法屬于類,而并非屬于某一對象,可以在沒有實例對象的時候被訪問,同時static變量和方法是編譯的時候靜態綁定的,方法覆蓋(override)是運行的時候動態綁定的,因此static方法是不能夠被覆蓋的
2.1 訪問 在static方法中不能訪問類內非static變量和非static方法(不可以在static環境中訪問非static變量) 在類中靜態成員變量也叫做類變量,靜態成員方法也叫做類方法,無論該類生成多少個對象,靜態成員變量和方法在內存中只存在一份。 對于靜態成員變量而言,我們可以用類名來訪問該static變量,也可以在其他非靜態成員方法中像訪問其他非靜態成員變量那樣來訪問。 對于靜態成員方法而言,在類內,非靜態成員方法可以直接訪問靜態成員方法,在類外,既可以使用類名.方法名,同樣也可以使用對象名.方法名 因為static是類的層面,在JVM完成類的加載之后static環境就創建好了,然而這個時候非static變量還沒有創建出來,非static變量需要與對象綁定在一起,因此不能再static環境中訪問非static變量,防止出現未在內存中創建就被使用的情況發生 2.2 this與super 首先要明確一點,this代指的是當前對象,使用this相當于當前對象的引用,但是static中可以脫離對象存在,因此不能再static中使用this,如果調用static的是類而不是對象,那么在static方法中出現的this或者super都不存在該對象的引用,因此不能在static中出現this或者super
新聞熱點
疑難解答