📅  最后修改于: 2023-12-03 15:16:01.375000             🧑  作者: Mango
内部类是定义在另一个类内部的类。它可以访问外部类的成员,包括私有成员,并提供了一种实现多层嵌套的解决方案。
内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类,本篇介绍的是成员内部类。
成员内部类是定义在另一个类内部,且不是 static
的类。它可以使用外围类的所有变量和方法,与外围类通过一个实例来访问(即需要先创建外围类的实例,才能创建其内部类的实例)。
成员内部类的定义格式如下:
public class OuterClass {
// 外部类
private int outerVariable;
// 成员内部类
public class InnerClass {
private int innerVariable;
public void innerMethod() {
System.out.println("Inner Method");
}
}
}
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
public class OuterClass {
// 外部类
private int outerVariable;
// 成员内部类
public class InnerClass {
private int innerVariable;
public void innerMethod() {
System.out.println("Inner Method");
}
}
public void outerMethod() {
InnerClass inner = new InnerClass();
}
}
OuterClass outer = new OuterClass();
outer.outerMethod();
成员内部类的存在主要是为了解决以下问题:
成员内部类是一种非常方便的工具,可以用于实现多层嵌套和代码封装。尽管使用成员内部类可以产生一些问题,但是在适当的情况下,它可以提高代码的可读性并简化代码结构。