Object类的toString方法和equals方法
Object类
概述
java.long.Object 类是java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终的父类就是Object
类Object是类层次结构的根类。每个类都是用Object作为超类。所有对象(包括数组)都实现这个类的方法
如果一个类没有特别指定父类,那么默认则继承自Object类例如:
public class Demo01ToString/*extends Object*/ {
public static void main(String[] args) {
/**
* Person类默认继承了Object类,所以可以使用Object中的toString方法
* String toString(); 返回该对象字符串表示
*/
Person person = new Person("张三",18);
// System.out.println(person.toString());
String s = person.toString();
System.out.println(s);
//直接打印对象名字其实就是调用对象的toString方法
System.out.println(person);
/**
* 看一个类是否重写toString方法直接打印对象即可
* 如果没有重写toString方法那么打印的就是对象的地址值
* 如果重写了toString方法那么就是按照重写的方式打印
*/
}
equals
public class Demo02Equals {
public static void main(String[] args) {
/**
* Person类默认继承了Object类,所以可以使用Object类的equls方法
* boolean equals(Object obj) 指示其他某个对象是否与此对象相等
* Object类equals方法的源码
* public boolean equals(Object object){
* return (this == obj);
* }
* 参数:Object obj 可以传递任意的对象
*方法体:==:比较运算符,返回的就是一个布尔类型
* 基本数据类型:比较的是值
* 引用数据类型:比较的是两个对象的地址值
* this:哪个对象调用的方法,方法中的this就是哪个对象
* obj是传递过来对象
*/
Person p1 = new Person("迪丽热巴",18);
Person p2 = new Person("古力娜扎",18);
boolean b = p1.equals(p2);
System.out.println(b);//false
}
}