21.JAVA编程之Object类

Object类是类层次结构的根类

每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法
所有类都是Object类的子类

1.toString()方法:

返回该对象的字符串表示。通常,toString方法会返回一个“以文本方式表示”此对象的字符串,结果应是一个简明且易于读懂的信息表达式,建议所有子类都重写此方法。
示例代码:

public class Demo {

    public static void main(String[] args) {
        Student s = new Student(1,"aa",23);
        System.out.println(s);
    }

}

class Student{
    private String name;
    private int sid;
    private  int age;
    public Student(){}
    public Student(int sid,String name,int age)
    {
        this.sid = sid;
        this.name = name;
        this.age = age;
    }

    //重写Objec类中的toString()方法
    @Override
    public String toString() {
        return "sid="+sid+",name="+name+",age="+age;
    }
}

直接输出类名System.out.println(s);也可以打印出toString方法里的内容。

2.equals(Object obj)

指示其他某个对象是否与此对象“相等”,equals方法在非空对象引用上实现相等关系
重写equals之前,虽然两个对象的属性相同,但是调用equals方法,返回的值为false。
示例代码:

public class Demo {

    public static void main(String[] args) {
        Student s = new Student(1,"aa",23);
        Student  s1 = new Student(1,"aa",23);
        boolean e = s.equals(s1);
        System.out.println(e);
    }

}

class Student{
    private String name;
    private int sid;
    private  int age;
    public Student(){}
    public Student(int sid,String name,int age)
    {
        this.sid = sid;
        this.name = name;
        this.age = age;
    }

    //重写Objec类中的toString()方法
    @Override
    public String toString() {
        return "sid="+sid+",name="+name+",age="+age;
    }
}

运行效果:

重写代码后:

public class Demo {

    public static void main(String[] args) {
        Student s = new Student(1,"aa",23);
        Student  s1 = new Student(1,"aa",23);
        boolean e = s.equals(s1);
        System.out.println(e);
    }

}

class Student{
    private String name;
    private int sid;
    private  int age;
    public Student(){}
    public Student(int sid,String name,int age)
    {
        this.sid = sid;
        this.name = name;
        this.age = age;
    }

    //重写Objec类中的toString()方法
    @Override
    public String toString() {
        return "sid="+sid+",name="+name+",age="+age;
    }

    //重写equals方法,来实现两个对象的比较
   public boolean equals(Object obj){
       if(this==obj)
           return true;
       if(obj instanceof Student){
           Student s = (Student)obj;
           if(!this.name.equals(s.name))
               return false;
           if(this.age!=s.age)
               return false;
           if (this.sid!=sid)
               return false;
       }
       return true;
   }
}

运行效果:

3.getClass()

返回此Object的运行时类

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容