Object类的toString方法equals方法

此篇博客探讨了Java中的对象创建、属性设置、toString方法重写以及equals方法重写。通过Student类实例展示了如何初始化对象、设置属性,并打印对象信息。同时,通过equals方法的重写,演示了如何比较两个对象的内容是否相等,而非仅仅比较内存地址。
摘要由CSDN通过智能技术生成
package com.study.exception.demo16;

public class Student {

    private int age;
    private String name;

    public Student() {
        this.age = age;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

    public String getName() {
        return name;
    }

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

    //public String toString():返回对象的字符串表示形式,建议所有子类都重写toString方法,按Alt+Ins,选中toString()
    @Override
    public String toString() {
        return "Student{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }

    //public boolean equals(Object o):比较对象是否相等。默认比较地址,重写可以比较内容,按Alt+Ins,选中equals自动生成
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Student student = (Student) o;

        if (age != student.age) return false;
        return name != null ? name.equals(student.name) : student.name == null;
    }


}

package com.study.exception.demo16;

public class StudentDemo {

    //Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或间接的继承自该类
    //构造方法 public Object()
    //看方法的源码,选中方法,按Ctrl+B
    public static void main(String[] args) {
        Student s = new Student();
        s.setAge(20);
        s.setName("Tom");
        System.out.println(s);//com.study.exception.demo16.Student@1b6d3586
        System.out.println(s.toString());

        Student s1 = new Student();
        s1.setName("啊啊");
        s1.setAge(10);
        Student s2 = new Student();
        s2.setName("啊啊");
        s2.setAge(10);
        System.out.println(s1.equals(s2));

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值