📜  如何创建非静态内部类的对象 - Java (1)

📅  最后修改于: 2023-12-03 15:08:28.562000             🧑  作者: Mango

如何创建非静态内部类的对象 - Java

在Java中,内部类作为一个类的一部分,可以方便地访问外部类的成员,包括私有成员。其中,非静态内部类是指在外部类的实例化对象中创建的内部类,而静态内部类则是指在外部类中直接创建的内部类。

下面我们将介绍如何创建非静态内部类的对象。

首先,我们需要定义一个外部类,并在其中定义一个非静态内部类,例如:

public class OuterClass {
    private int outerVar = 10;
    public class InnerClass {
        public void printOuterVar() {
            System.out.println("outerVar = " + outerVar);
        }
    }
}

在上述代码中,OuterClass是外部类,InnerClass是非静态内部类,InnerClass可以访问OuterClass的成员变量outerVar。

接着,我们可以在代码中创建外部类的实例化对象,并通过该对象创建非静态内部类的对象,例如:

public class Main {
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        OuterClass.InnerClass inner = outer.new InnerClass();
        inner.printOuterVar();
    }
}

在上述代码中,我们首先创建OuterClass的实例化对象outer,然后通过该对象创建InnerClass的对象inner,并最终通过inner访问了OuterClass的成员变量outerVar。

需要注意的是,由于非静态内部类依赖外部类的实例化对象,因此无法直接在该类外部创建非静态内部类的对象。

以上就是创建非静态内部类的对象的方法,希望对你有所帮助!