提问人:Ahmed nasr 提问时间:5/27/2023 最后编辑:Ahmed nasr 更新时间:5/27/2023 访问量:48
静态块和变量可以在 Java 中的匿名内部类中使用吗?
Can static blocks and variables be used inside anonymous inner classes in Java?
问:
静态块和静态变量是否在 java 中的匿名内部类中工作?
您好,我正在关注 YouTube 上的视频解释,它正在谈论 和 并且您不能在static blocks
static variables
anonymous inner classes
代码
package Anonymous;
public class main {
public static class TestClass {
public void TestMethod() {
System.out.println("test");
}
}
public static void main(String[] args) {
TestClass test = new TestClass() {
static int p = 5;
final static int y = 5;
static {
}
@Override
public void TestMethod() {
System.out.println("test 2");
}
};
test.TestMethod();
}
}
现在,当我在计算机上运行时(没有出现错误)
但是在YouTube视频或在线编译器中(它给出了这个错误)
那么,造成这种差异的原因是什么?
在里面做和工作还是不做?static blocks
static variables
anonymous inner classes
答:
6赞
rzwitserloot
5/27/2023
#1
直到 java 版本 15,您不能这样做。从 java 16 开始,您可以。显然,在您的计算机上,您运行的是 java 16 或更高版本,而 youtube 正在运行 15 或更低版本。
评论
4赞
meriton
5/27/2023
这是作为 JEP 395:记录的一部分添加的。
评论