java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

2,equals方法

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

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

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

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

父类:

1
2
3
4
5
6
7
8
9
10
11
12
package com.imooc;
 
public class Animal
{
    public int age = 90;
    public int weight = 45;
     
    public void bark()
    {
        System.out.println("I can bark");
    }
}

子类:

1
2
3
4
5
6
7
8
9
10
11
12
package com.imooc;
 
public class Dog extends Animal
{
    int age = 50;
    int weight = 60;
    public void bark()
    {
        System.out.println("I can bark loudly!");
    }
     
}

测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.imooc;
 
public class Dog extends Animal
{
    int age = 50;
    int weight = 60;
    public void bark()
    {
        System.out.println("I can bark loudly!");
    }
 
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (get<a href="http://www.cfei.net/archives/tag/class" title="浏览关于“Class”的文章" target="_blank" class="tag_link">Class</a>() != obj.getClass())
            return false;
        Dog other = (Dog) obj;
        if (age != other.age)
            return false;
        if (weight != other.weight)
            return false;
        return true;
    }
     
}

运行结果:

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

加油,pjr!

博客生活javaclass继承

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。