1.靜態內部類可以有靜態變量和方法,非靜態內部類只擁有非靜態變量和方法
2.靜態內部類只可以訪問外部類的靜態方法和變量,非靜態內部類可以訪問外部類的所有成員
3.實例化對象的方法不同
實例化非靜態內部類對象
通過外部類對象來實例化
OuterClass outer=new OuterClass();
OuterClass.InnerClass inner=outer.new InnerClass();
實例化靜態內部類對象
不依賴外部類對象
OuterClass.InnerStatciClass inner=new OuterClass.InnerStaticClass();
4.調用方法和成員的方式不同
非靜態
內部類對象.方法/變量
靜態
外部類,內部類.方法/變量(不用生成內部類對象)
新聞熱點
疑難解答