// Java 内部类示例代码
class OuterClass {
// 成员变量
private String outerField = "Outer Field";
// 成员内部类
class InnerClass {
// 成员内部类可以访问外部类的成员变量和方法
void display() {
System.out.println("Outer field value: " + outerField);
}
}
// 静态内部类
static class StaticInnerClass {
void display() {
System.out.println("This is a static inner class.");
}
}
// 局部内部类
void createLocalInnerClass() {
class LocalInnerClass {
void display() {
System.out.println("This is a local inner class.");
}
}
LocalInnerClass localInner = new LocalInnerClass();
localInner.display();
}
// 匿名内部类
void createAnonymousInnerClass() {
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("This is an anonymous inner class.");
}
};
runnable.run();
}
}
public class Main {
public static void main(String[] args) {
// 创建外部类对象
OuterClass outer = new OuterClass();
// 创建成员内部类对象
OuterClass.InnerClass inner = outer.new InnerClass();
inner.display();
// 创建静态内部类对象
OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass();
staticInner.display();
// 调用局部内部类的方法
outer.createLocalInnerClass();
// 调用匿名内部类的方法
outer.createAnonymousInnerClass();
}
}
成员内部类(InnerClass):定义在外部类的内部,可以直接访问外部类的所有成员(包括私有成员)。创建成员内部类的对象时,需要先创建外部类的对象。
静态内部类(StaticInnerClass):使用 static
关键字修饰的内部类。它可以不依赖于外部类的实例而存在,因此可以在没有外部类实例的情况下创建静态内部类的实例。
局部内部类(LocalInnerClass):定义在方法内部的类。它的作用域仅限于该方法内,不能在方法外使用。局部内部类可以访问外部类的成员以及方法中的局部变量(但局部变量必须是 final
或者是有效 final
)。
匿名内部类(Anonymous Inner Class):没有名字的内部类,通常用于实现接口或继承类,并且只使用一次。匿名内部类可以直接在需要的地方创建并使用。
以上代码展示了四种不同类型的内部类及其使用方式。
上一篇:java bean
下一篇:java 字符串截取
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站