zoukankan      html  css  js  c++  java
  • 十.自定义类中的一些常用方法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();
      }

  • 相关阅读:
    Object的create、assign、getPrototypeOf与拷贝
    vue中使用axios最详细教程
    COJ1249(竞争性酶抑制剂和同工酶)
    COJ1127(芝麻开门)
    COJ1219(建食堂)
    COJ1236(删数游戏)
    COJ1247(有髓鞘神经纤维动作电位传导)
    POJ1159(Palindrome)
    POJ1080(Human Gene Functions)
    Uva10034(Freckles)
  • 原文地址:https://www.cnblogs.com/Magic-Li/p/12802025.html
Copyright © 2011-2022 走看看