21.JAVA編程之Object類

Object類是類層次結構的根類

每個類都使用Object作為超類,所有對象(包括數(shù)組)都實現(xiàn)這個類的方法
所有類都是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方法在非空對象引用上實現(xiàn)相等關系
重寫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方法,來實現(xiàn)兩個對象的比較
   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的運行時類

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容