java中object的用法,java object的常用方法

  java中object的用法,java object的常用方法

  本篇文章给大家带来了关于爪哇岛的相关知识,其中主要介绍了关于目标类的相关问题,包括了目标类是什么、对象类中的等于方法、hashCode方法等等内容,下面一起来看一下,希望对大家有帮助。

  写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用

  

1.Object类是什么?

  类人{}

  班级学生{}

  公共类测试03 {

  public static void func(Object o){ }

  公共静态void main(String[] args) {

  func(新人());

  func(新生());

  }

  公共静态void main 1(String[]args){

  对象o=新人();

  对象o2=新生();

  }

  }下面来看一下Object类中都有什么方法

   本篇会简单介绍hashCode(),equals()

  

2.Object类中的equals方法

   下面看这样一段代码

  类别人员{

  公共字符串dz;

  公共人物(字符串dz) {

  this.dz=dz

  }

  @覆盖

  公共字符串toString() {

  返回"人员{"

  dz= dz \

  };

  }

  }

  班级学生{

  }

  公共类测试03 {

  公共静态void main(String[] args) {

  人员人员=新人(北京);

  人员人员1=新人(北京);

  系统。出去。println(person==person 1);

  } 如果直接这样比较,看地址是否相同,就会输出假的,输出是错误的

  那么如果要比较,有什么方法吗

  系统。出去。println(人。等于(人1));如果直接在主要的中这样写,还是会输出假的,

  这是因为人里面没有等于,默认是继承于目标的

  可以看到里面比较的还是这和obj,也就是当前传进来的参数,所以才是错误。

  那么如何用等于进行比较

  @覆盖

  公共布尔等于(对象对象){

  //判断当前目标文件参数是否为空

  if (obj==null) {

  返回错误的

  }

  if (this==obj) {

  返回真实的

  }

  //不是人类对象

  如果(!(人的对象实例)){

  返回错误的

  }

  Person ret=(Person)obj;

  返回这个。dz。等于(ret。dz);

  }

  此时等于就可以比较了

  

3.Object类中的hashCode方法

   ,

  下面重写一下hashCode,

  @覆盖

  public int hashCode() {

  返回对象。哈希(dz);

  }然后运行代码试试看,果然重写之后,内存地址相同了

  

4.编译器自动生成equals和hashCode

   一般重写时,都是这两个同时进行重写

  这就是生成好了的等于和散列码

  @覆盖

  public boolean equals(Object o) {

  如果(this==o)返回真实的

  if (o==null getClass()!=o.getClass())返回错误的

  Person person=(人)o;

  返回Objects.equals(dz,person。dz);

  }推荐学习: 《java视频教程》 以上就是爪哇中的目标类知识点归纳的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: