JAVA 面向对象 Object - 文章教程

JAVA 面向对象 Object

发布于 2021-07-03 字数 2019 浏览 907 评论 0

Object 是所有类的根类。

Object 是不断抽取而来的,具备着所有对象都具备的共性内容。

一、equals

展示其他某个对象是否与此对象 相等

class Person{
    private int age;
    Person(int age){
        this.age = age;
    }
}

class ObjectDemo{
    public static void main(String[] args){
        Person p1 = new Person (20);
        Person p2 = new Person (20);
        Person p3 = p1;

        System.out.println(p1==p2);//false    对象比较的是地址
        System.out.println(p1.equals(p2));//false
        System.out.println(p1.equals(p3));//true
    }
}

equals 方法覆盖

class Person{
    private int age;
    Person(int age){
        this.age = age;
    }

    public boolean equals(Object obj){//覆盖父类的equals方法
        Person p = (Person)obj;
        return this.age == p.age;
    }
}

class ObjectDemo{
    public static void main(String[] args){
        Person p1 = new Person (20);
        Person p2 = new Person (20);

        //年龄比价
        System.out.println(p1.equals(p2));//true
    }
}

二、hashCode

返回该对象的哈希码值

class ObjectDemo{
    public static void main(String[] args){
        Person p1 = new Person (20);

        System.out.println(p1);
        System.out.println(p1.hashCode());//十进制
        System.out.println(Integer.toHexString(p1.hashCode()));//十六进制
    }
}

三、getClass

返回此 Object 的运行时类

class ObjectDemo{
    public static void main(String[] args){
        Person p1 = new Person (20);
        Person p2 = new Person (20);

        class1 = p1.getClass();
        class2 = p2.getClass();

        System.out.println(class1 == class2 );//true
        System.out.println(class1.getName());//Person 
    }
}

四、toString

返回该对象的字符串表示

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

Jay

文章 0 评论 0

guowei007

文章 0 评论 0

2668157715

文章 0 评论 0

HY阳

文章 0 评论 0

想挽留

文章 30 评论 3