当前位置:首页 > Java

java如何调用内部类

2026-03-03 09:21:25Java

调用静态内部类

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

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

静态内部类可以直接访问外部类的静态成员,但无法访问非静态成员。

调用非静态内部类

非静态内部类(inner class)必须通过外部类的实例创建。

java如何调用内部类

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

非静态内部类可以直接访问外部类的所有成员(包括私有成员),因为它隐式持有外部类的引用。

匿名内部类的调用

匿名内部类通常用于实现接口或继承类,直接通过 new 关键字实例化。

java如何调用内部类

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

匿名内部类常用于事件监听或临时实现接口的场景。

方法内部类的调用

方法内部类(局部内部类)定义在方法内,仅在该方法中可见,需在方法内实例化。

public void outerMethod() {
    class MethodInnerClass {
        void display() {
            System.out.println("Method inner class");
        }
    }
    MethodInnerClass inner = new MethodInnerClass();
    inner.display();
}

方法内部类不能包含静态成员,且只能访问方法中的 final 或等效不可变局部变量。

访问权限与注意事项

  • 私有内部类:只能在外部类内部实例化,外部无法直接访问。
  • 内部类访问外部成员:非静态内部类可直接访问外部类成员,静态内部类仅能访问静态成员。
  • 内存泄漏风险:非静态内部类隐式持有外部类引用,可能导致内存泄漏,建议在不需要时设为 static 或使用弱引用。

通过以上方式,可以根据需求灵活调用不同类型的内部类。

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

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

如何编译java文件

如何编译java文件

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证。若未安装,需从Oracle或Open…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…