1

数组类构造函数:-

private Arrays() {}

我的问题是,如果 Array 的类构造函数是私有的,那么我们究竟如何创建 Arrays 的对象。那么以下语句的含义是什么:-

int[] anArray = new int[10];

上面的语句和Array的类有什么关系。

对这个问题的任何帮助都会非常感激。

4

3 回答 3

3

Arrays 只是一个用于处理数组的实用程序类,就像 Collections 是一个用于处理(您猜对了)集合的实用程序类一样。语句 new int[10] 是一种语言结构,与 Arrays 类无关。

于 2013-04-14T10:37:20.320 回答
2

private Arrays() {}

我猜是因为其中的所有公共实用程序方法java.util.Arrays都是static,因此我们不需要此类的任何实例来使用这些方法。因此语言的设计者决定保留 are 的构造函数Arraysprivate限制实例化。

int[] anArray = new int[10];

那是用于定义数组、数据结构的 java 语言构造,不要将其与Arraysjava 中的实用程序类混淆。有关更多信息

数组:http
Arrays ://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html:http : //docs.oracle.com/javase/6/docs/api/java/util/数组.html

于 2013-04-14T11:44:25.707 回答
0

Arrays是一个用于静态使用的实用程序。 int[]是一种伪原始类型,它没有构造函数。它们之间没有真正的关系。

于 2013-04-14T10:38:19.653 回答