- class Demo
- {
- private int num;
- Demo(int num)
- {
- this.num=num;
- }
- public boolean equals(Object obj)
- {
- if (!(obj instanceof Demo))
- return false;
- Demo d=(Demo)obj;
- return num==d.num;
- }
- }
- class ObjectDemo
- {
- public static void main(String[] args)
- {
- Demo d1=new Demo(5);
- Demo d2=new Demo(5);
- System.out.println(d1.equals(d2));
- }
- }
复制代码 if (!(obj instanceof Demo)) 这一句为什么是这样的,而不是if (!(obj instanceof Object)),
equals(Object obj) 函数的参数类型是Object类中的啊,肯定不是Demo啊,可是外面传进来的又是Demo类的,父类和子类有点乱了,谁帮忙整理下啊 |