为什么在 Java 16 中的非静态内部类中允许使用静态方法?
我们知道可以使用外部类的实例访问非静态内部类,因此静态方法在非静态类中没有多大意义。但是从Java 16开始,静态方法允许在非静态内部类中使用。
为什么一开始就存在这种限制?为什么在较新版本中允许这样做?
public class OuterClass {
class InnerClass {
static void printMe() {
System.out.println("Inside inner class");
}
}
public static void main(String[] args) {
InnerClass.printMe();
}
}