新手求教Java语法?

image.png

public static void main(String[] args) {
    List<String> list = new ArrayList<String>() {{   //使用匿名内部类(匿名内部类在Java8无法使用钻石运算符,但是之后的版本可以)
            add("A");
            add("B");
            add("C");
    }};
    System.out.println(list);
}

一会是静态代码块,一会是匿名内部类,求教这里到底是什么写法?

阅读 1.4k
2 个回答

相当于new了一个arraylist的子类,重写了代码块,不是静态代码块哦,ai输出答案有问题

这个是匿名内部类里的静态代码块,静态代码块是指的大括号里面的东西,这个代码的意思是,用一个匿名类实现了arraylist,然后在实现里加了个代码块

推荐问题