如何在 Java 中实例化成员内部类?\
javaobject oriented programmingprogramming更新于 2024/5/10 11:15:00
在类内部但在方法之外声明的类称为成员内部类。
我们可以通过两种方式实例化成员内部类
- 在类内调用
- 在类外调用
内部类的规则
- 外部类(包含内部类的类)可以在其代码中根据需要实例化任意数量的内部类对象。
- 如果内部类是公共的 &包含类,那么其他不相关类中的代码也可以创建内部类的实例。
- 没有内部类对象会自动用外部类对象实例化。
- 如果内部类是静态的,则可以在没有外部类实例的情况下实例化静态内部类。否则,内部类对象必须与外部类的实例相关联。
- 外部类甚至可以调用内部类的私有方法。
在类内部调用的成员内部类
在下面的示例中,我们从 OuterClass 的 display() 方法调用成员内部类的方法。
示例
public class OuterClass { private int value = 20; class InnerClass { void show() { System.out.println("Value is: " + value); } } void display() { InnerClass ic = new InnerClass(); ic.show(); } public static void main(String args[]){ OuterClass oc = new OuterClass(); oc.display(); } }
Value is: 20
在类外部调用的成员内部类
在下面的例子中,我们从 OuterClass 即测试类外部调用 InnerClass 的 show() 方法。
示例
class OuterClass { private int value = 20; class InnerClass { void show() { System.out.println("Value is: "+ value); } } } public class Test { public static void main(String args[]) { OuterClass obj = new OuterClass(); OuterClass.InnerClass in = obj.new InnerClass(); in.show(); } }
输出
Value is: 20