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