多态Object类toString方法学习笔记ObjectDemo.java

来源:互联网 发布:域名快速备案费用 编辑:程序博客网 时间:2024/03/29 20:17
 

/*
 Object是所有对象的直接或者间接父类。传说中的上帝。
 该类中定义的肯定是所有对象都具备的功能。

Object类中 已经提供了对对象是否相同的比较方法

如果自定义类中也有比较相同的功能,没有必要重新定义
只要沿袭父类中的功能,建立自己特有比较内容即可。这就是覆盖。
*/
class Demo//extends Object
{
 private int num;
 Demo(int num)
 {
  this.num=num;
 }
 public boolean equals(Object obj)//Object obj=new Demo();
 {
  if(!(obj instanceof Demo))
   return false;
  Demo d=(Demo)obj;

  return this.num==d.num;
 }
 /*
 public boolean compare(Demo d)
 {
  return this.num==d.num;
 }
 
 Demo()
  {
   super();//构造函数的第一行都是隐式的super语句。都会去访问父类。
  }
 */
 public String toString()
 {
  return "Demo:"+num;
 }
}
class Person
{
}
class ObjectDemo
{
 public static void main(String[] args)
 {
  Demo d1=new Demo(4);
  //Demo d2=new Demo(6);
  //Demo d3=d1;
  
  //Class c=d1.getClass();
  //System.out.println(c.getName());
  //System.out.println(Integer.toHexString(d1.hashCode()));
  //System.out.println(c.getName()+"@@"+Integer.toHexString(d1.hashCode()));
  System.out.println(d1.toString());
  //Person p=new Person();
  //System.out.println(d1.equals(d2));
  //System.out.println(d1.equals(p));
  //System.out.println(d1==d3);
  //System.out.println(d1==d2);
  //System.out.println(d1.compare(d2));
 }
}

原创粉丝点击