📅  最后修改于: 2023-12-03 15:08:28.562000             🧑  作者: Mango
在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。
需要注意的是,由于非静态内部类依赖外部类的实例化对象,因此无法直接在该类外部创建非静态内部类的对象。
以上就是创建非静态内部类的对象的方法,希望对你有所帮助!