内部类
- 具体分为如下四种:
- 静态内部类
- 成员内部类
- 局部内部类,当以在方法或者表达式内部
- 匿名内部类,如new Thread{}.start();
- 示例:
public class OuterClass { /** * 成员内部类 */ private class InstanceInnerClass{} /** * 静态内部类 */ static class StaticInnerClass{} public static void main(String[] args){ /** * 匿名内部类 */ new Thread(){ @Override public void run() { super.run(); } }.start(); /** * 两个方法内部类 */ class MethodClass1{} class MethodClass2{} } /** * 无论是什么类型的内部类,都会编译成一个独立的.class文件 * 外部类与内部类之间使用$符号分割,匿名内部类使用数字 * 进行编号 */ }
- 示例:
-
无论是什么类型的内部类,都会编译成一个独立的.class文件 外部类与内部类之间使用$符号分割,匿名内部类使用数字进行编号
- 定义静态内部类的好处:
- 作用域不会扩散到包外
- 可以通过“外部类.内部类”的方式直接访问
- 内部类可以访问外部类中的所有静态属性和方法
Dana.Lee
To:Dana_Lee1016@126.com