Object类

作者: 廷裕同学 | 来源:发表于2020-01-09 09:58 被阅读0次
找对象的方式:
 * 方式一:自定义类,通过自定义类创建对象。
 * 方式二:sun定义好了很多类,我们只需要认识这些类即可通过这些类创建对象为我们所用。
Object 类:
   * Object类是所有类的终极父类。
   * Object类常用的方法:
         * toString()             返回的字符串使用于描述该对象的(java.lang.Object@3fee733d)
         * equals​(Object obj)     指示其他某个对象是否与此对象“相等”。默认比较的是内存地址
         * hashCode()             返回该对象的哈希码值。

java规范:一般我们再重写equals方法的时候,我们都会重写hashCode方法

package cn.stu.object;

class User {
    String name;
    int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 重写
     *
     * @return
     */
    public String toString() {
        return "姓名:" + this.name;
    }

    public boolean equals(Object obj){
        if(obj instanceof User){
            User u = (User)obj;
            return this.name.equals(u.name)&&this.age==u.age;
        }
        return false;
    }
    public int hashCode(){
        return this.age;
    }
}

public class Demo1 {
    public static void main(String args[]) {
        User user1 = new User("张三", 25);
        User user2 = new User("张三", 25);
//        System.out.println("toString():"+obj.toString());
        System.out.println("是同一个对象吗?" + user1.equals(user2));
        System.out.println("哈希码1" +user1.hashCode());
        System.out.println("哈希码2" + user2.hashCode());
    }
}

相关文章

网友评论

      本文标题:Object类

      本文链接:https://www.haomeiwen.com/subject/azisactx.html