java学习日记——Object类II

来源:互联网 发布:sql 2005什么用 编辑:程序博客网 时间:2024/04/30 18:17

2,equals方法

       比较的是对象的引用是否指向同一块内存地址。

       然而一般情况下,比较两个对象是比较两个对象的值是否一致!

       所以我们可以重写equals方法来比较两个对象的值是否一致。

样例代码(没重写equals方法):

父类:

package com.imooc;public class Animal {public int age = 90;public int weight = 45;public void bark(){System.out.println("I can bark");}}

子类:

package com.imooc;public class Dog extends Animal {int age = 50;int weight = 60;public void bark(){System.out.println("I can bark loudly!");}}

测试类:

package com.imooc;public class Initial {public static void main(String[] args){Dog LittleDog = new Dog();Dog BigDog = new Dog();if(LittleDog.equals(BigDog)){System.out.println("两只狗相同!");}else{System.out.println("两只狗不同!");}}}

运行结果:

重写子类里的equals方法:

package com.imooc;public class Dog extends Animal {int age = 50;int weight = 60;public void bark(){System.out.println("I can bark loudly!");}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Dog other = (Dog) obj;if (age != other.age)return false;if (weight != other.weight)return false;return true;}}

运行结果:


哈哈,待会去家教,现在些篇博客消遣一下!

加油,pjr!

0 0
原创粉丝点击