Object类的方法,toString的重写.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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集合部分有实际应用

以上是关于Object类的方法,toString的重写.的主要内容,如果未能解决你的问题,请参考以下文章

重写Java中包装类的方法

Object类

C#...何时需要重写ToString()方法?

Java学习笔记3.5.4 继承 - Object类

重载tostring函数是啥意思?

toString( )