当前位置:首页 > Java

java如何调用内部类

2026-02-04 22:11:52Java

调用静态内部类

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

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

调用非静态内部类

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

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

在外部类中调用内部类

外部类可直接通过内部类名实例化内部类对象。

public class OuterClass {
    private class InnerClass {
        void display() {
            System.out.println("Inner class method");
        }
    }

    void callInner() {
        InnerClass inner = new InnerClass();
        inner.display();
    }
}

在内部类中访问外部类成员

非静态内部类隐含持有外部类实例的引用,可通过OuterClass.this访问外部类成员。

public class OuterClass {
    private String outerField = "Outer field";

    class InnerClass {
        void accessOuter() {
            System.out.println(OuterClass.this.outerField);
        }
    }
}

局部内部类的调用

局部内部类定义在方法或作用域内,仅能在该作用域中实例化。

public class OuterClass {
    void method() {
        class LocalInnerClass {
            void display() {
                System.out.println("Local inner class");
            }
        }
        LocalInnerClass local = new LocalInnerClass();
        local.display();
    }
}

匿名内部类的调用

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

interface Greeting {
    void greet();
}

public class Main {
    public static void main(String[] args) {
        Greeting greeting = new Greeting() {
            @Override
            public void greet() {
                System.out.println("Hello from anonymous class");
            }
        };
        greeting.greet();
    }
}

注意事项

  • 静态内部类不能直接访问外部类的非静态成员。
  • 非静态内部类依赖外部类实例,因此不能定义静态成员(除非是常量)。
  • 局部内部类和匿名内部类的作用域仅限于定义它们的块内。

java如何调用内部类

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

相关文章

如何安装java

如何安装java

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK下载页面,选择适合操作系统的版本(Windows、macOS或Linux)。推荐下载最新的长期支持(LTS)版本,如Java…

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Jav…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…