課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
?靜態(tài)內(nèi)部類不能直接訪問外部類的非靜態(tài)成員,但可以通過?new 外部類().成員?的方式訪問?
2017-10-10
源自:Java入門第二季 升級版 7-7
正在回答
package imooc_2.encapsulation.lnnerclass;
public class StaticInnerClass { ? ?private static int Score=84; ? ?private ?int Age=20; ? ?//靜態(tài)內(nèi)部類 ? ?public static class Inner{ ? ? ? ?private int sum=10; ? ? ? ?int a=21; ? ? ? ?public void show(){ ? ? ? ? ? ?StaticInnerClass staticInnerClass=new StaticInnerClass(); ? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外部類的靜態(tài)成員變量"+Score); ? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外類的成員變量"+new StaticInnerClass().Age); ? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外類的成員變量"+staticInnerClass.Age); ? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用內(nèi)部類中的靜態(tài)成員變量"+sum); ? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用內(nèi)部類中的成員變量"+a); ? ? ? ?} ? ?} ? ?public static void main(String[] args) { ? ? ? ?Inner inner=new Inner();//靜態(tài)內(nèi)部類能直接創(chuàng)建 ? ? ? ?inner.show(); ? ?}}
其實很簡單的道理,就是static這個關(guān)鍵字的用法。
public static class ,不能訪問 public class。但如果非要訪問的話,就通過創(chuàng)建新的對象來引用進行操作。
內(nèi)部類 對象名 = new 內(nèi)部類();//這里創(chuàng)建了外部類的對象,就可以進行訪問了。
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答看不懂這兩個代碼
1 回答能不能通過一句代碼 實現(xiàn)子類里面所有的方法?
2 回答有誰用異常處理做過完善過代碼嗎 能不能發(fā)出來讓我看一下
3 回答完美呈現(xiàn)輸出
2 回答能不能幫我看看代碼有沒有什么問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-12-15
package imooc_2.encapsulation.lnnerclass;
public class StaticInnerClass {
? ?private static int Score=84;
? ?private ?int Age=20;
? ?//靜態(tài)內(nèi)部類
? ?public static class Inner{
? ? ? ?private int sum=10;
? ? ? ?int a=21;
? ? ? ?public void show(){
? ? ? ? ? ?StaticInnerClass staticInnerClass=new StaticInnerClass();
? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外部類的靜態(tài)成員變量"+Score);
? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外類的成員變量"+new StaticInnerClass().Age);
? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用外類的成員變量"+staticInnerClass.Age);
? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用內(nèi)部類中的靜態(tài)成員變量"+sum);
? ? ? ? ? ?System.out.println("靜態(tài)內(nèi)部類調(diào)用內(nèi)部類中的成員變量"+a);
? ? ? ?}
? ?}
? ?public static void main(String[] args) {
? ? ? ?Inner inner=new Inner();//靜態(tài)內(nèi)部類能直接創(chuàng)建
? ? ? ?inner.show();
? ?}
}
2017-10-10
其實很簡單的道理,就是static這個關(guān)鍵字的用法。
public static class ,不能訪問 public class。但如果非要訪問的話,就通過創(chuàng)建新的對象來引用進行操作。
內(nèi)部類 對象名 = new 內(nèi)部類();//這里創(chuàng)建了外部類的對象,就可以進行訪問了。