java的语法是什么_Java语法 – 它做什么?

在查看我从其他开发人员那里获得的代码时,我遇到了以下代码.

public void myMethod()

{

final MyClass data1 = new MyClass(1,2,3);

final MyClass data2 = new MyClass(4,5,6);

// [...]

final MyClass dataN = new MyClass(M,O,P);

ArrayList list = new ArrayList()

{

{

add(data1);

add(data2);

// [...]

add(dataN);

}

};

}

事实上,我想我知道这段代码的作用(用定义的数据填充列表),但我很惊讶结果是如何实现的.

特别是我想知道在这种情况下花括号{}的意思.

我知道(想想?)这段代码太可怕了,我已经重写了它,但仅仅是为了好奇

我想知道它到底是做什么的.

我的猜测如下:

>第一对{}是一个匿名对象创建 – 它被转换为ArrayList< MyClass>.

>第二对{}是 – 我在考虑 – 与静态初始化类似但对于一个对象.

这可能是某种匿名构造函数吗?

有人可以在这里给我一些见解吗? (在哪里可以找到java docs中的“syntax-magic”?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值