当前位置:首页 > Java

java如何调用内部类

2026-04-09 06:30:41Java

调用静态内部类

静态内部类(Static Nested Class)可以直接通过外部类名访问,无需依赖外部类实例。

java如何调用内部类

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

调用成员内部类

成员内部类(Member Inner Class)必须通过外部类实例创建。

java如何调用内部类

OuterClass outerObject = new OuterClass();
OuterClass.InnerClass innerObject = outerObject.new InnerClass();

调用局部内部类

局部内部类(Local Inner Class)定义在方法或作用域内,只能在定义它的块中实例化。

public class OuterClass {
    void method() {
        class LocalInnerClass {
            // 类定义
        }
        LocalInnerClass localObj = new LocalInnerClass();
    }
}

调用匿名内部类

匿名内部类(Anonymous Inner Class)通常用于实现接口或继承类,直接通过 new 关键字创建。

Runnable runnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Anonymous inner class");
    }
};

注意事项

  • 静态内部类不能直接访问外部类的非静态成员。
  • 成员内部类会隐式持有外部类的引用,可能引发内存泄漏。
  • 局部内部类和匿名内部类访问的局部变量必须是 final 或等效不可变(Java 8+ 隐式 final)。

标签: 部类java
分享给朋友:

相关文章

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

php 实现 java md5加密

php 实现 java md5加密

PHP 实现 Java MD5 加密 Java 和 PHP 的 MD5 加密结果可能存在差异,主要由于字符编码和输出格式的不同。以下是确保 PHP 与 Java MD5 加密结果一致的方法。 确保字…