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 this.num == d.num; /* 在一行中,通过重写的equals 方法的传进来的参数obj,来获得所指向对象的成员,但是该对象成员明明是用Private修饰的,为什么可以直接调用呢,难道是因为 该对象本就是该类的一个实例?应该是的,因为这就好比是在Main方法中,通过实例来调用本类 中private修饰的成员。 */ } } class EqualsTest{ public static void main(String[] args) { Demo d1 = new Demo(4); Demo d2 = new Demo(7); System.out.println(d1.equals(d2)); } } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |