Java实例内部类
Java实例内部类是指一个类定义在另一个类的内部,并且每个实例内部类对象都与外部类的实例相关联。
下面是一个示例代码:
public class OuterClass {
private int x = 10;
public void outerMethod() {
InnerClass inner = new InnerClass();
inner.innerMethod();
}
public class InnerClass {
public void innerMethod() {
System.out.println("Inner class method");
System.out.println("x = " + x);
}
}
}
在上面的示例中,InnerClass
是一个实例内部类,它定义在OuterClass
的内部。InnerClass
可以直接访问OuterClass
的成员变量x
。
要创建实例内部类的实例,需要通过外部类的实例来访问。在outerMethod()
方法中,我们首先创建了一个InnerClass
对象inner
,然后调用了innerMethod()
方法。
在外部类中创建内部类的实例的示例代码如下:
public class Main {
public static void main(String[] args) {
OuterClass outer = new OuterClass();
outer.outerMethod();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.innerMethod();
}
}
在上面的示例代码中,我们首先创建了一个OuterClass
对象outer
,然后通过outer
调用了outerMethod()
方法,该方法中创建了InnerClass
对象并调用了innerMethod()
方法。
然后,我们还可以通过outer
来创建InnerClass
对象的实例inner
,并调用innerMethod()
方法。
无论是通过外部类的实例来创建内部类的实例,还是通过内部类的类名来创建内部类的实例,这两种方式都能够创建内部类的实例,不同的是前者可以直接访问外部类的成员变量和方法,而后者无法直接访问外部类的成员变量和方法。