Java中數組是不是對象?

不管是基本類型的數組還是對象類型的數組,在Java中,數組都是對象,數組的父類是Object類,數組對象可以賦值給Object對象來保存~。

那麼聲明數組對象的類型應該怎麼說?

public class Test {
	public static void main(String[] args) {
		int[] a = new int[3];
		int[][] b = new int[2][2];
		String[] strings = {"a","b"};
		
		if(a instanceof int[]){
			System.out.println("a`s type is int[]");
		}
		if(b instanceof int[][]){
			System.out.println("b`s type is int[][]");
		}
		if(strings instanceof String[]){
			System.out.println("strings`s type is String[]");
		}
	}
}

運行結果:

a`s type is int[]
b`s type is int[][]
strings`s type is String[]

如果做到上面這樣,你心中還是有一些疑問,那麼看下面代碼

public static void main(String[] args)
{
		int[] a = new int[3];
		
		Class clz = int[].class;
		Class superClz = clz.getSuperclass();
		System.out.println(superClz.getName());
}

輸出結果爲:

java.lang.Object

由此,可以看出,我們的數組類的父類就是我們的Object類。

 

總結:

數組是對象,數組的父類是Object,每個數組都實現了接口Cloneable and java.io.Serializable。因此,在以後的很多應用場景,可以將我們的數組對象賦值給Object對象保存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章