Object類的方法,toString的重寫.


Object類是所有類的根類。

Object類是所有類的父類,位於java.lang包中 數組也是Object類的子類

Object類的常用方法 toString(); equals(); hashCode();

任何類的對象,都可以調用Object類中的方法,包括數組對象。系統默認存在繼承Object類。

例如

public class Example{ 
      public void f(Object obj){
      }    
    }
    public class Test{
      public static void main(){
         Example exam=new Example();
         int[] array=new int[4];
         ……//任何數組
         exam.f(array);
    }
    }

toString方法; toString方法可以將任何一個對象轉換成 字符串返回,返回值的生成算法為:getClass().getName() + '@' + Integer.toHexString(hashCode())。

例如:toString ()的方法重寫。 

class Goods {
    String name ;
    int coding;
    int price;
    int num;
    Goods(String name,int coding,int price,int num){
        this.name = name ;
        this.coding = coding; 
        this.price = price;
        this.num = num;
//        coding = textField.getText();
//        name = textField_1.getText();
//        num = textField_2.getText();
//        price = textField_3.getText(); 
    }

    public String toString (){
        return "  編號: "+coding+"  姓名: "+name+"  數量: "+num+"  價格: "+price;
        
    }
public static void main (String [] args){
        Goods  good = new Goods("張三",022,12510,0021);
        System.out.println(good);
}    

equals方法; Object類中的equals方法,用來比較兩個引用的虛地址。當且僅當兩個引用在物理上是同一個對象時,返回值為true,否則將返回false。

一般方法中equals比較的是兩個對象的值。因為一般方法都被toString重寫。

hashCode方法 獲取對象的哈希碼值,為16進制 equals方法與hashCode方法關系 如果兩個對象使用equals比較返回true,那么它們的hashCode值一定要相同 如果兩個對象equals比較返回false,那么它們的hashCode值不一定不同   覆蓋equals,往往需要覆蓋hashCode,可以使用Eclipse自動生成,保證equals返回true,則hashCode相同;equals返回false,則hashCode不同 在Set集合部分有實際應用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM