java.lang.Object类是Java语言中的根类,也就是所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类 就是Object。
如果一个类没有指定特别父类,那么默认继承Object类。例如:
public class Class/* entend Object*/(){
}
常用Object类:
1 public String toString();返回值该对象的字符串表示。
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
重写步骤:
按alt加上insert,然后选择要重写的方法,就可以重写了。
重写后的方法:
这样之后再调用打印的就不是地址了,如下:
2 public boolean equals(Object object)
指示其他某个对象是否与此对象“相等”。
调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定义两种方式。
在对象的比较中,equals方法默认比较的是地址
所以这个的结果是false,这个时候我们需要重写这个方法以此来把对象的属性来作为比较。
在idea里面是可以自动重写方法的,我们只要快捷键选中所需要比较的属性自动生成即可,我这么选了年龄和名字来比较。当然比较的属性要完全相同判断结果才会是TRUE,自动生成的代码如下:
w
而在String类的比较中,equals默认比较的是字符串的单个字符的比较
结果自然是TRUE,看String类里面的源代码:
这里很明显,是String类重写了Object类里面的equals方法。
isNull方法:
判断对象是否是null,如果为null则返回TRUE
eg:
Student s1 = null;
Student s2 = new Student("蔡徐坤", 22);
System.out.println(Objects.isNull(s1));
System.out.println(Objects.isNull(s2));
第一个返回值为false,第二个为TRUE。