Object类和toString方法 --和Object类的equals方法
一,Object类概述:
Object是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或者间接的继承自该类
构造方法:pulic Object()
在面向对象中,子类要访问父类的无参构造方法,是因为它们的的顶级父类只有无参构造方法
二,toSting()方法
1,toString()方法在Object类中定义,其返回值是String类型,返回类名和他的引用地址在进行与其他类型数据的连接操作时,自动调用tostring()方法。
2,作用是返回对象的字符串字符串表现形式。建议所有子类重写此方法,这样返回的字符串更利于阅读。
3
public static void main(String[] args) { Date now = new Date(); System.out.println("now="+now);//相当于 System.out.println("now="+now.toString()); }
可以根据需要在用户自定义类型中重写tostring()方法
如tostring类重写了tostring()方法,返回字符串的值
public static void main(String[] args) { String s=new String(); s="hello"; System.out.println(s);//相当于 System.out.println(s.toString()); }
基本类型数据转换为String类型时,调用对应包装类的tostring()方法
public static void main(String[] args) { int a =10; System.out.println("a="+a); }
equals方法
1、在Object类中,equals方法比较的是两个对象的地址值,地址值相同返回true,否则返回false,以下是其源码:
public boolean equals(Object obj) { return (this == obj); }
“==”运算符的使用:对于基本数据类型,其比较的是对象的数值;对于引用数据类型,其比较的是对象的地址值。
在重写equals方法的最后使用了Objects.equals()函数,下面对其进行补充介绍:
Objects类是JDK7之后添加的一个工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是空指针安全的,其中Objects.equals()就是为了防止Object.equals()中容易出现空指针异常的现象
下面是Objects.equals()的源码:
public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }