数组的匿名子类?我认为?不要理解这种语法

时间:2016-06-10 06:44:17

标签: java anonymous-class

我不是Java程序员,但必须做一些Java工作。从一些谷歌搜索,这似乎是一个匿名的子类。但随后对象后跟" []"。但是再次声明变量是一个Object。这是否与允许对象数组的最通用类型(Object)相反?

Object thing = new Object[] {someInt, anotherInt, someInterface, someString};

1 个答案:

答案 0 :(得分:6)

没有。数组是最终的,所以你不能将它们子类化。代码只是创建一个对象数组Object[],并在创建时填充一些整数(自动装箱到Integer),一个接口和一个字符串。

关于该示例的“奇怪”事情是它将Object[]分配给Object引用。现在所有类都扩展Object包括数组,所以这是有效的,但我无法想象除非你有意尝试,否则有Object thing代替Object[] thing是有意义的。使你的代码不那么清晰。