課程
/后端開發
/Java
/Java入門第二季 升級版
使用SInner si = HelloWorld.new SInner();來創建對象,如果按照調用靜態方法來看,這好像沒什么毛病啊,但是為什么使用HelloWorld.會報錯?
2019-01-14
源自:Java入門第二季 升級版 7-7
正在回答
當內部類為靜態內部類時:創建對象是 內部類名 對象名=new 內部類名();
當內部類為非靜態內部類時:創建內部類對象時需要通過外部類對象:內部名 內部對象名=外部對象名.new 內部對象名();
而此題內部類為靜態內部類
通過“HelloWorld.”可以調用出靜態方法和靜態屬性。然后你是通過類名調用了一個靜態類實例化后的一個實例,覺得是出現了語句邏輯錯誤,可以這樣,SInner si=new HelloWorld.Sinner();才疏學淺的我是這樣認為的,接受路過攻城獅斧正。祝學愉快
HelloWorld并沒有被實例化
只有實例化后才可以這樣使用
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答語句SInner si=new SInner();中 si 是什么?
3 回答這里為什么不用創建對象?
2 回答使用外部類對象創建內部類對象???
5 回答創建內部類對象為什么要先創建外部類對象
3 回答這里調用eat()方法為什么不用創建對象
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-02-26
當內部類為靜態內部類時:創建對象是 內部類名 對象名=new 內部類名();
當內部類為非靜態內部類時:創建內部類對象時需要通過外部類對象:內部名 內部對象名=外部對象名.new 內部對象名();
而此題內部類為靜態內部類
2019-01-19
通過“HelloWorld.”可以調用出靜態方法和靜態屬性。然后你是通過類名調用了一個靜態類實例化后的一個實例,覺得是出現了語句邏輯錯誤,可以這樣,SInner si=new HelloWorld.Sinner();才疏學淺的我是這樣認為的,接受路過攻城獅斧正。祝學愉快
2019-01-14
HelloWorld并沒有被實例化
只有實例化后才可以這樣使用