Object
Object是所有类的根父类,如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类
==
和equals
的区别
- ==:引用类型比较引用(是否指向同一个对象);基本类型比较值
- 用“==”进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错
- equals()方法是Object类的方法,由于所有类都继承Object类,也就继承了equals()方法。只能比较引用类型,其作用与“==”相同,比较是否指向同一个对象。格式:obj1.equals(obj2)
- 特例:当用equals方法进行比较时,对类File、String、Date及封装类(Wrapper Class来说),是比较类型及内容而不考虑引用的是否是同一个对象。
原因:在这些类中覆盖了equals()方法。
toString
方法
toString
方法在Object
类中定义,其返回值是String
类型,返回类名和它的引用地址。- 在进行
String
与其它类型数据的连接操作时,自动调用toString()
方法
Date now = new Date();
System.out.println(“now” + now);
System.out.println(“now” + now.toString());//now + Date@122345 - 可以根据需要在用户自定义类型中重写toString()方法。
如String类重写了toString()方法,返回字符串的值。
s1 = “hello”;
System.out.println(s1); //System.out.println(s1.toString()); - 基本数据类型转换为String类型时,调用了对应封装类的toString()方法