当前位置:首页 > 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代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

教你如何完全卸载java

教你如何完全卸载java

卸载 Java 的步骤 Windows 系统 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到 Java 相关的条目,通常显示为“Java”或“Java(TM)”。右键点击选择卸载,按照…

java实现vue接口

java实现vue接口

Java 实现 Vue 接口的方法 在 Java 中实现 Vue 前端调用的接口,通常需要使用 Spring Boot 框架构建 RESTful API。以下是具体的实现步骤和代码示例。 创建 Sp…

如何查看java版本

如何查看java版本

查看Java版本的命令行方法 在终端或命令提示符中运行以下命令,可以快速查看已安装的Java版本: java -version 输出示例: java version "17.0.1" 20…