当前位置:首页 > 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中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何学习java语言

如何学习java语言

学习Java语言的系统方法 理解基础概念 Java是一种面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制流语句(if-else、循环)是第一步。熟悉类和对象的概念,理解封装、继承和多态三…

eclipse如何创建java

eclipse如何创建java

在Eclipse中创建Java项目 打开Eclipse后,选择菜单栏中的"File" -> "New" -> "Java Project"。在弹出的对话框中输入项目名称,确保"Use de…