今天小編給大家分享一下java內部類的兩種類型是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
說明
1、內部類可分為:靜態內部類和非靜態內部類。
2、非靜態內部類分為:成員內部類、方法內部類、匿名內部類等。
實例
public class ClassOuter {
private int noStaticInt = 1;
private static int STATIC_INT = 2;
public void fun() {
System.out.println("外部類方法");
}
public class InnerClass {
//static int num = 1; 此時編輯器會報錯 非靜態內部類則不能有靜態成員
public void fun(){
//非靜態內部類的非靜態成員可以訪問外部類的非靜態變量。
System.out.println(STATIC_INT);
System.out.println(noStaticInt);
}
}
public static class StaticInnerClass {
static int NUM = 1;//靜態內部類可以有靜態成員
public void fun(){
System.out.println(STATIC_INT);
//System.out.println(noStaticInt); 此時編輯器會報 不可訪問外部類的非靜態變量錯
}
}
}
public class TestInnerClass {
public static void main(String[] args) {
//非靜態內部類 創建方式1
ClassOuter.InnerClass innerClass = new ClassOuter().new InnerClass();
//非靜態內部類 創建方式2
ClassOuter outer = new ClassOuter();
ClassOuter.InnerClass inner = outer.new InnerClass();
//靜態內部類的創建方式
ClassOuter.StaticInnerClass staticInnerClass = new ClassOuter.StaticInnerClass();
}
}以上就是“java內部類的兩種類型是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。