不管是基本类型的数组还是对象类型的数组,在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对象保存。