// 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 final关键字的作用
下一篇:java 字符串截取
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站