Object类
Object类的主要特点是可以解决参数的统一问题,也就是说使用Object类可以接收所有的数据类型。
Object类的基本概念
在Java中只有一个类是不存在继承关系的,这个类就是Object,也就是说所有类默认情况下都是Object子类;
class Person{} 等价于 class Person extends Object
在Object类设计的时候考虑到了所有继承的问题,所以该类提供有无参构造方法,这样所有的类在定义时不知道Object处在,也不会出现构造方法调用失败的语法错误;
那么既然Object类是所有类的父类,那么这种情况下就可以使用Object接收所有的子类对象;
如果某一程序的方法要求可以接收所有类对象的时候就可以利用Object实现处理;
但是有一点需要注意,在Java设计中对于所有的引用数据类型都可以使用Object类进行接收,包括数组也可以;
Object是一个万能的数据类型,更适合程序的标准设计;
取得对象信息:toString()
Object虽然是一个类,但这个类本身也提供有一些处理方法的。
toString()可以获取一个对象的完整信息;
所以在以后的开发过程中对象信息的获得可以直接覆写此方法;
对象比较:equals()
Object类中另外比较中的方法在于对象比较的处理上,主要是比较两个对象的内容是否完全相同;
比如两个Person对象要想确认这两个对象是否一致,但是两个对象本身会有不同的内存地址,此时的比较应该是通过内容完成;
Object类作为所有类的父类提供了对象比较操作的支持,对于对象比较的操作实现可以使用equals()的方法执行;
public boolean equals(Object obj)
可以接收所有类型,默认情况下只是进行两个对象地址判断,实际使用而言,如果想要实现判断处理,必须在子类中覆写此方法且进行属性判断;
String类作为Object的子类,实际上已经覆写了equals()方法;