亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求問為什么編譯錯誤了

582889700001352c05000226.jpg

582889700001ad6f05000278.jpg

第一張是老師的,第二張圖是我自己做的。為什么我的就有錯了。

錯誤顯示No enclosing instance of type MethodDemo1 is accessible. Must qualify the allocation with an enclosing instance of type MethodDemo1 (e.g. x.new A() where x is an instance of MethodDemo1). ? ? ? 辦法是在class A前面加一個static就可以解決報錯

但為什么老師就可以直接 A a1 = new A();不報錯呢


正在回答

1 回答

main方法是靜態方法,靜態方法不能直接調用動態方法,class A需要是靜態的.

老師的是兩個不同的類,你這個A是MethodDemo1的內部類.

0 回復 有任何疑惑可以回復我~
#1

慕粉1474367326 提問者

了解了,非常感謝!
2016-11-14 回復 有任何疑惑可以回復我~
#2

慕粉1474367326 提問者

放在外面作為外部類,就默認是靜態了嗎?
2016-11-14 回復 有任何疑惑可以回復我~
#3

超級省電俠4405474 回復 慕粉1474367326 提問者

不是的,建議你去理解一下這部分基礎:內部類對象的外圍類引用被設置為創建內部類對象的方法中的this引用,你在main()方法中創建的對象A a1= new A();由于main()方法是靜態方法,靜態方法是沒有this引用的,因此報錯.
2016-11-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求問為什么編譯錯誤了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號