Four types of inner class

来源:互联网 发布:apache限制ip访问 编辑:程序博客网 时间:2024/05/17 08:50
Nested top-level classes(static member class (or interface)) :
当我们在一个类A里面定义了另一个类B,并指定B的修饰符为static,那么编译器会把类B与其他普通类一样看待。其他类可以通过A.B来得到类B的入口。比如可以在其他类中通过import A.B来导入类B。类B与其他普通类的区别是B可以访问A中的静态成员。
Member classes :
我们在一个类A里面定义一个成员类B,B没有被关键字static修饰。成员类B可以访问类A中所有的字段和方法,不管是否是静态的都可以访问。

Local classes :
Local内部类包含于一个代码块中,Local 内部类与本地变量类似,Local内部类的被访问权限局限于定义该Local内部类的代码块中。如若使Local内部类可以在代码块外部使用,则须使Local类部类实现一个较开放的接口。Local内部类不属于成员范畴,修饰符public, protected, private 和 static 在其上不可用。
Anonymous classes :
匿名内部类在本地内部类上更进一层:

Reference:http://docstore.mik.ua/orelly/java-ent/jnut/ch03_01.htm


原创粉丝点击