Object类的主要特点是可以解决参数的统一问题,也就是说使用Object类可以接收所有的数据类型。
Object类简介
在Java之中只有一个类是不存在有继承关系的,那么这个类就是Object,也就是说所有的类默认情况下都是Object子类,以下两种类的定义效果完全相同:
class Person {} // 一个类
class Person extends Object {} // 一个类
在Object类设计的时候考虑到了所有继承问题,所以该类提供有无参构造方法,这样所有的类在定义时即便不知道Object类的存在也不会出现构造方法调用失败的语法错误。
那么既然Object类是所有类的父类,那么这种情况下就可以使用Object类接收所有的子类对象。
范例:观察Object类接收所有子类对象
class Person {} // 一个类
public class JavaDemo {
public static void main(String args[]) {
Object obj = new Person () ; // 向上转型
if (obj instanceof Person) {
Person per = (Person) obj ;
System.out.println("Person对像向下转型执行完毕。");
}
}
}
如果一个程序的方法要求可以接收所有类对象的时候就可以利用Object 实现处理。但是还有一点需要注意 ,在Java设计过程之中对于所有的引用数据类型实际上都可以使用Object 类进行接收,包括数组也可以。
范例:使用Object 类接收数组
public class JavaDemo {
public static void main(String args[]) {
Object obj = new int [] {1,2,3} ; // 向上转型
if (obj instanceof int[]) { // 是否为整型数组
int data [] = (int []) obj ; // 向下转型
for (int temp : data ) {
System.out.print(temp + "、 ");
}
}
}
}
Object是一个万能的数据类型,它更加适合于进行程序的标准设计。