重写object类中的equals方法

package equalsdemo;
/*
 * 重写object中的equals方法
 */
public class equalsdemo {
public static void main(String[] args) {
    person p1 = new person("zhangsan",54);
    person p2 = new person("zhangsan",54);
    if (p1.equals(p2)) {
        System.out.println("这两个对象相等!!!");
    }
    else {
        System.out.println("这两个 no 对象相等!!!");
    }
}
}
class person{
    private String name;
    private int age;
    public person(String name,int age){
        this.name = name;
        this.age = age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    //复写equals方法
    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        //如果两个对象地址相等则相等
        if (this==obj) {
            return true;
        }
        //判断两个对象的值是否相等
        //把传递过来的obj向下转型
        person p = (person)obj;
        if (p.getName().equals(this.getName())&&p.getAge()==this.getAge()) {
            return true;
        }
        else {
            return false;
        }
    }
}
时间: 2024-12-21 20:48:58

重写object类中的equals方法的相关文章

问题1、java.lang中String类和Object类中的equals方法比较

String类中的equals方法重写了Object类中的equals方法,下面通过代码来比较二者的不同之处: 一.String类 1. String s1 = "String"; String s2 = "String"; System.out.println(s1 == s2 ); System.out.println(s1.equals(s2));

Object 类中的 equals方法

1 相等与同一 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等.如果两个引用对象指的是同一个对像,则称这两个变量同一.Object类中定义的equals 函数原型为:public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等. 2 equals方法 由于Object 类是所有类的最高基类,所有其他类都继承类Object类的equals()方法,定义原型如下: public boolean equals (Object x){ return

JAVA中Object类中的equals方法补充

Object类中的equals方法: 无论new多少个对象,当使用 "= =" 来判断的时候,是判断内存地址.判断回事false 若是需要进行对象之间的判断,则需要重写equals方法: public boolean equals(Object obj)//obj是传入的形式参数(对象) { if (obj == null)//判断对象是否为空 { return false;//空则返回false } else { if ( obj instanceof cat)//判断这个传入参数(

重写Object类中的toString方法

package com.ftf.o; /** * 重写祖宗类Object类中的toString方法 * @author 房廷飞 * */ public class TextObject { public static void main(String[] args) { // Object obj; TextObject to=new TextObject(); System.out.println(to.toString()); Person2 p2=new Person2("房廷飞"

java.long.object类中的重要方法

一:概念 java.long.object Object类是所有Java类的祖先.每个类都使用 Object 作为超类. 二:方法概览 clone() 创建并返回此对象的一个副本. equals(Object obj) 指示某个其他对象是否与此对象“相等”. finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法.(JVM中自带的垃圾回收机制只能回收new出的对象) getClass() 返回一个对象的运行时类. hashCode() 返回该对象的哈希码值

object类中常用的方法

Object类方法 Object是所有类的父类,任何类都默认继承Object.Object类到底实现了哪些方法? (1)clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. (2)getClass方法 final方法,获得运行时类型. (3)toString方法 该方法用得比较多,一般子类都有覆盖. (4)finalize方法 该方法用于释放资源.因为无法确定该方法什么时候被调用,很少使用

Object类中常见的方法总结

Object类是一个特殊的类,是所有类的父类.它主要提供一下11个方法: 1 public final native Class<?> getClass() //natice方法,用于返回当前运行时对象的class对象,使用了final关键字修饰,不允许子类重写 2 3 public native int hashCode() //natice方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的Hash Map 4 5 public boolean equals(Object obj

Java常见对象Object类中的个别方法

Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成地址值. package common_object; public class Demo extends Object{ } package common_object; public class DemoTest { public static void main(String[] args)

[Python之路] object类中的特殊方法

一.object类的源码 python版本:3.8 class object: """ The most base type """ # del obj.xxx或delattr(obj,'xxx')时被调用,删除对象中的一个属性 def __delattr__(self, *args, **kwargs): # real signature unknown """ Implement delattr(self, na