内部类有三种:静态内部类,成员内部类,局部内部类,匿名内部类
1.静态内部类
public class static ClassName
静态内部类只能访问外部类静态的成员变量(类比静态方法)
在外部类以外调用静态内部类:
ClassName cn = new OutClass.ClassName();//类比静态方法的调用
2.成员内部类
public class ClassName
成员内部类与外部类的方法同一级别,可以访问外部类的成员变量,当外部类的方法要访问此类
new this.ClassName();
外部类以外的调用
new OutClass().new ClassName();
3.局部内部类
声明在外部类的方法内,类比方法的局部变量,外部类无法直接调用此类
OutClass{
public void run(){
class ClassName{
}
1.静态内部类
public class static ClassName
静态内部类只能访问外部类静态的成员变量(类比静态方法)
在外部类以外调用静态内部类:
ClassName cn = new OutClass.ClassName();//类比静态方法的调用
2.成员内部类
public class ClassName
成员内部类与外部类的方法同一级别,可以访问外部类的成员变量,当外部类的方法要访问此类
new this.ClassName();
外部类以外的调用
new OutClass().new ClassName();
3.局部内部类
声明在外部类的方法内,类比方法的局部变量,外部类无法直接调用此类
OutClass{
public void run(){
class ClassName{
}
}
4.匿名内部类
匿名内部类没有 class 关键字,没有类名,没有extends 和implement 关键字,但是匿名内部类会隐式的继承类或者接口
String str = ClassName.toString(new Date(){
//继承了Date类
});
匿名内部类可以重写它继承的类的方法。常用于方法参数。
本文详细介绍了Java中的四种内部类:静态内部类、成员内部类、局部内部类和匿名内部类的特点及使用方式,并提供了实例说明如何在不同场景下进行调用。
2万+

被折叠的 条评论
为什么被折叠?



