如何在 Java 中实例化成员内部类?\n
在类内部但方法外部声明的类称为**成员内部类**。
我们可以通过两种方式实例化成员内部类
- 在类内部调用
- 在类外部调用
内部类的规则
- 外部类(包含内部类的类)可以在其代码内部实例化任意数量的内部类对象。
- 如果内部类是公共的并且包含类也是公共的,那么其他不相关的类中的代码也可以创建内部类的实例。
- 没有内部类对象会自动与外部类对象一起实例化。
- 如果内部类是静态的,则可以在没有外部类实例的情况下实例化静态内部类。否则,内部类对象必须与外部类的实例相关联。
- 外部类甚至可以调用内部类的私有方法。
在类内部调用的成员内部类
在下面的示例中,我们从 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 外部(即 Test 类)调用 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP