問:為什么可以在非靜態外部類中直接聲明靜態成員屬性或方法,但在非靜態內部類中卻不能直接聲明靜態成員屬性或方法?答:所謂靜態成員屬性或方法,即表示不用實例化(創建對象)即可直接訪問的成員屬性或方法,java語言規定類(這里單指【外部類】)的靜態成員屬性或方法可以直接被訪問,所以非靜態外部類可以直接聲明靜態成員。但是不能在非靜態內部類中直接聲明靜態成員,因為非靜態內部類就相當于外部類的一個非靜態成員方法,而非靜態成員方法需要先實例化(創建對象)才可訪問,所以如果你在一個非靜態成員方法中定義一個靜態變量是不可以的,所以說,這和不能在非靜態內部類中直接聲明靜態成員(屬性或方法)是一個道理。(以上是小弟總結的疑問和答案,不知道理解的對不對,如果不對或理解不夠充分和全面,希望大家給予指正,多謝了。)
添加回答
舉報
0/150
提交
取消