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对象保存。

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