2013-04-14 75 views
1

數組類的構造函數: -在Java中,爲什麼Array的類構造函數是私有的?

private Arrays() {} 

我的問題是,究竟如何,我們正在創建數組對象如果Array的類的構造函數是私有的,然後。 那麼什麼是下面的語句的含義: -

int[] anArray = new int[10]; 

什麼是上面的語句和數組的類之間的關係。

的問題,任何幫助將是非常appriciated。

+2

的'Arrays'級是一個靜態輔助級用於操縱陣列,而不是「真實的」數組。 –

+0

順便說一句,還有一個'Array'輔助類。你也可以在網上找到一些ArrayUtil和ArrayUtils類。 :| –

+0

所以你不能構造它。爲什麼?因爲這是他們設計的方式。它沒有任何實例方法,所以你不需要一個實例。不建設性。 – EJP

回答

3

陣列簡直就是使用數組,就像正宗實用程序類與工作的一個實用工具類,你猜對了,收藏。新的int [10]語句是一種語言結構,與Arrays類無關。

0

Arrays是用於靜態使用的工具。 int[]是僞基本類型,其不具有構造函數。這些之間沒有真正的關係。

2

private Arrays() {}

我猜是因爲所有java.util.Arrays公用事業方法static,因此我們不需要這個類的任何實例使用這些方法。所以,語言的設計者們決定保留的Arrays構造是private限制實例。

int[] anArray = new int[10];

即一個java語言構造來定義的陣列,數據結構,不與Arrays其是Java中的工具類混合這件事。更多關於

陣列:http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html
Arrayshttp://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

相關問題