java:new object(){{}} 请问这种是什么语法?

新手上路,请多包涵

看起来像是匿名类.但是又不一样.

public class User{
 public int id;
 public String name;
 public void setName(String name){ this.name = name;}
 public void setId(int id){this.id = id;}
}

public class Demo{
 public static void main(String[] args){
    new User(){{  // 这里的写法
      setName("name");
      setId(1);
    }}
 }
}
阅读 5.4k
1 个回答

就是匿名内部类。
第一对大括号是类的大括号,第二对大括号是构造代码块的大括号。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题