十.自定义类中的一些常用方法eqauls,hashcode,toString,getClass等

1.equals方法

  public boolean equals(Object obj) {
    return (this == obj);//注意:默认比较的是两个对象的地址
  }
  重写注意:this or other

  1. s1和s2是不是指向同一个对象
    if(this==other){
    retuden false;}
  2. s2是不是null
    if(other==null){
    return false;}
  3. s1的类型实际类型和s2对象的实现类型是否相等
    If(this.getClass!=other.getClass){
    Return false;}
  4. 自定义
    {……}

2.hashCode

  对象获取自己的哈希值,使用哈希算法,根据对象的特点,计算出一个数字,这个数字就是对象的哈希值
  相同对象的哈希值一定相同
  哈希值不同的两个对象一定也是不同的
  哈希值相同的两个对象,有可能相同有可能不同

  对象的哈希值 相当于 人的姓

  相同人的姓一定是相同的
  姓氏不同的两个人一定也是不同的
  姓氏相同的两个人,有可能相同有可能不同

  java中,默认的hashCode方法(Object中的),会保证不同的对象,都会有不同的哈希值,是一个native方法
  public int hashCode() {
    return Id;
  }

3.toString:打印对象时隐式调用

4.getClass:

  Object obj=null;
  obj= new Student();
  obj= new Object();
  System.out.println(obj.getClass());
  很重要的一个方法:
  public void test(Object obj) {
    Class c=obj.getClass();
  }

猜你喜欢

转载自www.cnblogs.com/Magic-Li/p/12802025.html
今日推荐