看书,比如java核心技术,讲的很仔细,内部类这玩意不是一句两句就能说清楚的,不过概要的说定义内部类的主要原因是它可以访问它的外部类的私有数据。而对于同一包的其他类来说,内部类能隐藏起来。
解决方案 »
- 实现接口的一个小问题
- if(type.compareTo("fire") == 0) type是String型,为什么会出错???
- java JComboBox 触发事件问题
- 请问怎么在frame中显示applet的产生的条形码图片?(新手求助,十万火急!!!)
- 面试用Swing开发的程序员,他们会问什么样的技术上的问题呀
- 构造函数不是都应该是public的吗? 为什么在这里是private的 ?
- 简单的问题
- 参数传递的问题?
- 菜鸟弱问GUI 问题!和Jframe 有关
- 高分!! 哪里可以下载有关SNMP的API(要有关JAVA)的
- 初学者疑问,以提多时,少人问,希望各位能帮帮忙
- 关于新添类库的放置位置
static. Inner classes may not declare static initializers or member interfaces.
Inner classes may not declare static members, unless they are compile-time
constant fields.A local class is a nested class that is not a member of any class and that has a
name. All local classes are inner classes.An anonymous class declaration is automatically derived from a class instance
creation expression by the compiler.A member class is a class whose declaration is directly enclosed in another class
or interface declaration. Similarly, a member interface is an interface whose declaration
is directly enclosed in another class or interface declaration. class
|
+------------+------------+
| |
top-level class nested class
|
+----------------------+----------+
| |
inner class static member clsss
|
+---------------+-----------+--------------------------+
| | |
non-static member class local class anonymous class
所有类:
顶层类:不在任何类之内的类。默认在包内可见,若是public的则包外可见,但必须占用自己的Compilation Unit。顶层类不能用其他修饰符。
内嵌类:处于某类之内的类。其外层的类是该类的信封类。
成员类:是内嵌类,但不在其信封类的任何方法/块中。仅该种类可用protected或private修饰
静态成员类:是成员类,有static修饰。
非静态成员类:是成员类,无static修饰。
本地类:是内嵌类,且在其信封类的某方法/块中。 class
|
+------------+------------+
| |
top-level class nested class
|
+----------------------+-------------------------------+
| |
member class local clsss
| |
+---------------+-----------+ +------------------+---+
| | | |
non-static member class static member clsss named class anonymous class