作者:太阳神神神_890 | 来源:互联网 | 2023-08-19 13:59
静态内部类和非静态内部类的区别
主要区别有三点:定义、访问和声明
定义
- 静态内部类中可以定义类变量、类方法、常量、成员变量和方法;非静态内部类只能定义常量、成员变量和方法
访问
- 静态内部类只能访问外部类的静态成员变量和静态方法,并且不能引用外部类的对象(this);非静态内部类可以访问外部类的所有成员和方法
声明
- 声明静态内部类时,不依赖于外部类对象;声明非静态内部类时,依赖于外部类对象
# 静态内部类
OutClass.InnerClass innerClass = new OutClass.InnerClass();
# 非静态内部类
OutClass.InnerClass innerClass = new OutClass().new InnerClass();
内部类使用技巧