Person[] ps = new Person[]{new Person() , new Person()};后面的花括号是不是可以理解为一个匿名的数组类

Goskalrie 2016-03-04 10:51:55
int[] array = new int[]{2,3,4};
Person[] ps = new Person[]{new Person() , new Person()};
Person[] ps1 = {new Person() , new Person()};

上面三个数组后面的{……是不是可以理解为一个匿名类?Java中数组的构造机制是什么?
...全文
296 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我只知道数组属于Object,并且Arrays之于数组恰如Class之于Object。
Goskalrie 2016-03-04
  • 打赏
  • 举报
回复
jdk1.7上面的代码是正常的,数组在java中比较特殊,getClass方法确实能得到类似于类的信息,关于数组的讨论吧里也有好多,上面的代码,虚拟机的处理肯定是构造数组,是对数组元素的赋值,看了一些博客和资料,都没有关于上面形式数组声明语句与匿名内部类的比较,感觉比较疑惑,还请对虚拟机有研究的大神指点。
凤鸣86 2016-03-04
  • 打赏
  • 举报
回复
Person如果没有定义,这个数组拷贝到程序里是不可以运行的,匿名类也是类,也是需要实现方法的
Goskalrie 2016-03-04
  • 打赏
  • 举报
回复
小菜加分了,希望得到大神的解答(<strong>等了一天了……</strong>)
orient0254y 2016-03-04
  • 打赏
  • 举报
回复
后面两个{}内的是匿名内部类,第一个不是类 构造机制不知道,你知道怎么用就行啦!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧