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

java内部类

作者:戮尽逆者   发布日期:2026-04-17   浏览:54

// Java 内部类示例

class OuterClass {
    // 成员内部类
    class InnerClass {
        void display() {
            System.out.println("这是成员内部类的方法");
        }
    }

    // 静态内部类
    static class StaticInnerClass {
        void display() {
            System.out.println("这是静态内部类的方法");
        }
    }

    // 局部内部类
    void createLocalInnerClass() {
        class LocalInnerClass {
            void display() {
                System.out.println("这是局部内部类的方法");
            }
        }
        LocalInnerClass localInner = new LocalInnerClass();
        localInner.display();
    }

    // 匿名内部类
    void createAnonymousInnerClass() {
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                System.out.println("这是匿名内部类的方法");
            }
        };
        runnable.run();
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建成员内部类对象
        OuterClass outerObject = new OuterClass();
        OuterClass.InnerClass innerObject = outerObject.new InnerClass();
        innerObject.display();

        // 创建静态内部类对象
        OuterClass.StaticInnerClass staticInnerObject = new OuterClass.StaticInnerClass();
        staticInnerObject.display();

        // 调用方法创建局部内部类对象并调用其方法
        outerObject.createLocalInnerClass();

        // 调用方法创建匿名内部类对象并调用其方法
        outerObject.createAnonymousInnerClass();
    }
}

解释说明:

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

  2. 静态内部类 (StaticInnerClass):使用 static 关键字修饰的内部类。它不能直接访问外部类的非静态成员,但可以通过静态上下文访问静态成员。创建静态内部类的对象不需要创建外部类的对象。

  3. 局部内部类 (LocalInnerClass):定义在方法、构造函数或代码块中的内部类。它的作用域仅限于定义它的代码块内。局部内部类不能使用 static 关键字,并且只能访问被 finaleffectively final 修饰的局部变量。

  4. 匿名内部类 (Anonymous Inner Class):没有名字的内部类,通常用于实现接口或继承类,并且只使用一次。匿名内部类可以简化代码,尤其是在需要传递短小的行为时。

上一篇:java读取excel文件内容并输出

下一篇:java 注解

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

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

Laravel 中文站