在重写equals时,
      public boolean equals(Object obj){
      if (obj == null) return false;//判断当前对象是否为空,要是的话直接返回false,
                                      也就不相等 
      if (this==obj) return true;//判断当前对象和obj是否是同一个对想要是,直接返回true,
                                   也就是相同
      if ( !( obj instanceof A) ) return false;//对于obj instanceof A可不可以理解成obj要是A
                                               //类自身实例化的对象或者A的父类实例化的对象
                                              //的话就返回true?在此处因为是否定的也就是说要
                                             //不是的话,就直接返回false?
       A o = (A)obj;                                   //此处为什么又要将obj强制转换为A,不是向下转型的
                                           //时候才用instanceof判断的么?
  
       boolean ret = (this.a == o.a);
       return ret;
      }