一成員內部類:作為外部類的成員存在,與成員變數和方法平級關係。
class out
class b
}}public class test
}輸出:
我是內部類
我是外部類
外部類中i=1 j=1
內部類中i=2
成員內部類的位元組碼檔案格式:
外部類$內部類名.class
二區域性內部類:
作為區域性成員存在,和區域性變數平級
class outer
} b b=new b();
b.f(); }}
public class test
}輸出:
我是區域性內部類中的函式哦!
外部類的i=1
區域性內類的i=1
三靜態內部類:用static修飾的成員內部類是靜態內部類
public class out
static void f2()
static void g1()
public static class b }
}public class test
}我是外部類的靜態函式
2外部類的同名靜態函式
我是外部類的靜態函式
2外部類的同名靜態函式
四匿名內部類:沒有名字的內部類
產生原因:由於介面和抽象類不能建立物件,若乙個介面的實現類只需要使用一次,或乙個抽象類的非抽象類只需要使用一次,可以使用匿名內部類,匿名內部類只能建立乙個物件。
匿名內部類的注意事項:
匿名內部類中必須把抽象方法全部實現。
匿名內部類可以宣告獨有的屬性和方法,但是由於介面引用不能訪問實現類中獨有的屬性和方法,所以一般不在內部類中宣告獨有的方法。
匿名物件:若在匿名內部類中宣告了獨有的方法和屬性,可以使用匿名物件訪問,匿名物件只能訪問一次。
第10天內部類
一成員內部類 作為外部類的成員存在,與成員變數和方法平級關係。class out class b public class test 輸出 我是內部類 我是外部類 外部類中i 1 j 1 內部類中i 2 成員內部類的位元組碼檔案格式 外部類 內部類名.class 二區域性內部類 作為區域性成員存在,...
java之9天 內部類
size medium b 內部類,靜態內部類,全域性內部類 b size 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有乙個外部類的引用,格式為 外部類名.this.成員 2.外部類要訪問內部類,必須建立物件 訪問格式 當內部...
java之9天 內部類
size medium b 內部類,靜態內部類,全域性內部類 b size 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有乙個外部類的引用,格式為 外部類名.this.成員 2.外部類要訪問內部類,必須建立物件 訪問格式 當內部...