object 类方法(object类型)

健康新闻 2023-05-01 18:58健康生活www.xingbingw.cn

  object 类方法(object类型),新营销网红网本栏目通过数据整理汇集了object 类方法(object类型)相关信息,下面一起看看。

  对象是Java中一个非常特殊的类。它是所有其他类的父类,当定义一个类时,没有必要声明新类是从Object扩展的。今天,我们来看看Java中最基本的对象类。

  对象类包含什么?

  对象类中的。

  通过IDE,我们可以很容易地看到对象有哪些,其中一个是私有的,两个是受保护的,九个是公共的。这些很多都是原生的,也就是说它们是C,在jdk中无法直接查看源代码。接下来我就一一介绍。

  注册

  注册

  这个是静态原生,这个是私有的,日常工作中肯定不会直接用这个。这个功能其实很简单,就是注册Object中使用的几种原生语言。

   GetClass也是native和final,所以不能在所有派生类中重写。的作用也很简单获取定义当前实例的类的类对象。这在获取诸如对象的类名之类的信息时非常有用,并且经常在Java反射相关的编程中使用。

   HashCode这也是原生的,可以重写。从Object的代码注释中,我们发现这必须遵循JRE中的某个约定。所谓契约是大家都同意的,所有JVM厂商都会遵守

  同一对象对hashCode的多次调用必须返回同一个整数。

  如果两个对象使用equals返回true,它们的hashCode也必须返回相同的整数。

  如果两个对象使用equals返回false,则不要求它们的hashCode返回不同。,为了更好地在HashTable中使用,两个对象都等于false,它们的hashCode也是不同的。

   hashCode的关键注释

  如果我们自己重写一个类的hashCode,需要特别注意以上三点。只有满足这三点,重写的hashCode才是可靠的,否则可能会出现意想不到的问题。

   Equals这是我们平时用的非常频繁的一个。用于判断两个对象是否相等,与“==”有本质区别。Equals确定两个对象的内容是否相同,而“==”确定两个对象的内存地址是否相同。在Object类中equals内部使用了“==”,这意味着对于一个自定义类来说,如果不重写equals,就无法判断两个对象的内容是否一致。

  所以当我们定义一个类,需要比较不同实例的内容在使用中是否一致时,就需要重写equals。因为equals和hashCode是有关联的,所以在重写equals的时候往往需要重写hashCode。

   Equals具有以下特征(其中x、y、z、y和z是非空对象引用):

  它是反射性的。X.equals(x)必须返回true。

  具有对称性。当x.eqals(y)返回true时,y.equals(x)也应该返回true。

  它是可传递的。当x.equals(y)返回true,y.equals(z)返回true时,x.equals(z)也应该返回true。

  有一致的。当多次调用equals时,每次返回的结果应该是相同的。

   X.equals(null)总是返回false。

  等号的关键注释

  当我们重写一个类的equals时,我们需要遵循这些特性来确保equals的可靠性。

  克隆的功能是复制自身,生成新的对象实例。,clone不是每个类都可以调用的。只有实现Cloneable接口的类才能调用clone。在不使用Cloneable接口的类上调用clone会引发CloneNotSupportedException异常。

  克隆的关键评论

  在对克隆的注释上,我们可以知道克隆对于任何对象都应该具有以下特征

   x.clone()!=x为真

   X.clone()。getclass ()==X.getclass()为真,不需要。

   X.clone()。equals(x)为真,这不是必须的。

  如果我们需要重写克隆体,我们需要特别注意上面的特性,重写克隆体的场景很少。

   ToString这也是一个常用的,通过它可以将对象转换成字符串。Object中的toString只是简单的返回这个对象的类名,hashCode,在实际工作中没有太大意义。在此注释中,还建议您为每个类重写toString,以获得更友好的toString结果。

  对象的字符串

   Notify唤醒一个等待当前对象作为锁的线程。在所有等待当前对象锁定的线程中随机唤醒一个线程。注意,这需要与synchronized一起使用。

   NotifyAll类似于notify,但这将唤醒所有等待当前对象的线程。

  对象类中有三个wait。它们的主要功能是一样的,不同的是等待的超时。这个函数是让当前线程等待,直到对象的notify或notifyAll被调用或等待超过指定时间。如果超时设置为0,意味着它将一直等待。

  定稿这个不建议重写。它的作用相当于析构函数,在释放Object对象时由JVM调用。一般在这里发布一些资源等。如果不是很有必要,请不要重写这个。

  这具有以下特点

  对finalize的调用是由jvm发起的。

  这个中抛出的异常将被jvm捕获忽略。

  任何对象的finalize最多只会被调用一次,不保证一定会被调用。

   Object(你知道Object里面有哪些方法以及它们的作用吗?)object(object类的方法有哪些?)

  更多object 类方法(object类型)相关信息请关注本文章,本文仅仅做为展示!

Copyright@2015-2025 www.xingbingw.cn 性病网版板所有