Object:
是所有的类的父类 ,Object中所有的方法 , 子类都能使用 , 接口不是Object子类。
Person: /*将父类的equals方法 重写* 不改变父类的源代码 equals 比较内存地址* 比较两个成员变量 变量值相等 返回true 不等 返回false* 重写父类的方法equals 自己定义对象的比较方式 * */ public class Person extends Object{private String name;private int age;public Person(){}public Person(String name,int age){this.name=name;this.age=age;}/** 重写Object的toString()方法 没有必要让用户看到内存地址 * 要求 :返回值是成员变量的* */public String toString(){return name+": "+age;}public boolean equals(Object obj){if(this==obj){return true;}//对obj 作非空判断if(obj==null){return false; }if(obj instanceof Person){//参数obj 接受到的是 Person对象 才能转型//对obj这个参数进行向下转型Person p =(Person)obj;return this.age==p.age;}return false;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
Test: public class Test {public static void main(String[] args) {Person p = new Person("张无忌",18);Person p1 = new Person("张san",18);boolean e = p1.equals(p1);System.out.println(e);boolean b = p.equals(p1);//重写了父类equals方法 比较年龄 如果不重写 比较内存 System.out.println(b);//调用Person类的方法toString()//输出语句 写的是每一个对象 默认就调用toString(); System.out.println(p);System.out.println(p1); } }