在 Java 中,内部类(Inner Class)是指定义在另一个类内部的类。根据定义位置和方式的不同,内部类主要分为以下几种:
定义在外部类的成员位置,不使用 static 修饰。
class Outer {
private int a = 10;
class Inner {
void show() {
System.out.println(a); // 可访问外部类成员
}
}
}
使用方式:
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.show();
使用 static 修饰的内部类。
class Outer {
static int b = 20;
static class Inner {
void show() {
System.out.println(b);
}
}
}
使用方式:
Outer.Inner inner = new Outer.Inner();
inner.show();
静态内部类不能访问外部类的非静态成员。
定义在方法或代码块中。
class Outer {
void method() {
class Inner {
void show() {
System.out.println("局部内部类");
}
}
Inner inner = new Inner();
inner.show();
}
}
局部内部类只能在所在方法中使用。
没有名字的内部类,常用于接口或抽象类的实现。
interface Animal {
void sound();
}
class Test {
public static void main(String[] args) {
Animal a = new Animal() {
public void sound() {
System.out.println("喵喵");
}
};
a.sound();
}
}
private)如果你需要某个具体场景的示例(如 Android、线程、回调函数等),可以告诉我。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。