Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 内部类

作者:自然ㄣ之光   发布日期:2025-05-10   浏览:40

// 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();
    }
}

解释说明:

  1. 成员内部类(InnerClass):定义在外部类的内部,可以直接访问外部类的所有成员(包括私有成员)。创建成员内部类的对象时,需要先创建外部类的对象。

  2. 静态内部类(StaticInnerClass):使用 static 关键字修饰的内部类。它可以不依赖于外部类的实例而存在,因此可以在没有外部类实例的情况下创建静态内部类的实例。

  3. 局部内部类(LocalInnerClass):定义在方法内部的类。它的作用域仅限于该方法内,不能在方法外使用。局部内部类可以访问外部类的成员以及方法中的局部变量(但局部变量必须是 final 或者是有效 final)。

  4. 匿名内部类(Anonymous Inner Class):没有名字的内部类,通常用于实现接口或继承类,并且只使用一次。匿名内部类可以直接在需要的地方创建并使用。

以上代码展示了四种不同类型的内部类及其使用方式。

上一篇:java bean

下一篇:java 字符串截取

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站