Object obj1 = new Object();
Object obj2 = new Object();
1:System.out.println(obj1==obj2);
2:System.out.println(obj1.equals(obj5));
Object obj3 = 223;
Object obj4 = 223;
3:System.out.println(obj3==obj4);
4:System.out.println(obj3.equals(obj4));
1和2:false false
3和4:false true
可不可以理解为obj1和obje2是两个对象,Object类型没有复写equals()方法,所以无论==还会equals()都为false;
obj3和obj4也是两个对象,但是Integer类型复写了equals()方法,所以==是false,equals()是true.
但obj3和obj4不是object类型的吗?难道赋值时自动装箱,还是多态的问题,父类引用指向子类对象?
|