欢迎光临散文网 会员登陆 & 注册

Object类详解

2022-06-15 21:00 作者:虚云幻仙  | 我要投稿

/**
* 测试Object类 所有类的继承源头
*/

public class TestObject {
   //默认TestObject extends java.lang.Object
   public static void main(String[] args) {
       TestObject o1 = new TestObject();
       System.out.println(o1);
       //默认打印o1.toString() toString()方法继承于Object类
       System.out.println(o1.toString());
       /*结果 com.diva.test.TestObject@1b6d3586
       包(路径)com-diva-test-类TestObject @ 地址转换十六进制
        */

   }
}

class To1{
   int id;
   int number;

   @Override
   //重写

   public String toString() {
       return "To1{" +
               "id=" + id +
               ", number=" + number +
               '}';
   }

   public static void main(String[] args) {
       To1 o2 = new To1();
       System.out.println(o2);
       //打印仍默认 o2.toString 结果受重写影响

       String a  = "a";
       String b = "a";
       System.out.println(a.equals(b));
       /*调用继承自Object的equals(Object obj)方法
       {return this(a) == obj(b)}
        */

   }
}

class To2 {
   int id;


   //右键 generate equals() 更改判断标准为this.id == id
   @Override
   public boolean equals(Object o) {
       if (this == o) return true;
       //先判断地址
       if (o == null || getClass() != o.getClass()) return false;
       //判断 类是否一致
       To2 to2 = (To2) o;
       return id == to2.id;
       //判断id相同
   }
}


Object类详解的评论 (共 条)

分享到微博请遵守国家法律