Oracle 的 Java 教程已经过时了吗?



我最近开始阅读Oracle的Java教程,我不确定它是否是最新的

在匿名课中,它是这样写的:

匿名类也具有与本地类相同的限制相对于其成员:

  • 不能在匿名类中声明静态初始化器或成员接口。
  • 一个匿名类可以有静态成员,只要他们是常量变量。

我做了一些测试,看起来这不是真的。使用Jdoodle的Java编译器,我运行:

public class MyClass {
public static void main(String args[]) {
A a = new A() {
static {
int c = 1;
}
// Or this one
//static int c = 1;
};
}
}
class A {}

在除JDK 17之外的每个版本中抛出错误。是我误解了什么,还是甲骨文没有更新它的教程?如果是,为什么?

我试着在谷歌上搜索Java 17的变化,但是我找不到任何关于它的信息。

在这个oracle Java教程文档链接的第一页中,您将看到该文档适用于JDK 1.8:

Java教程是为JDK 8编写的。例子和实践本页所描述的并没有利用所介绍的改进在以后的版本中,可能会使用不再可用的技术。

最新更新