Object类中的方法

Posted 小布丁value

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object类中的方法相关的知识,希望对你有一定的参考价值。


Object类中的方法

1.clone():

实现clone()方法必须实现Cloneable接口
看一下源码:

@return     a clone of this instance.
     * @throws  CloneNotSupportedException  if the object's class does not
     *               support the {@code Cloneable} interface. Subclasses
     *               that override the {@code clone} method can also
     *               throw this exception to indicate that an instance cannot
     *               be cloned.
     * @see java.lang.Cloneable
     */
    protected native Object clone() throws CloneNotSupportedException;

大概意思就是 :
如果对象的类不支持Cloneable接口,。子类
重写{@code clone}方法的 *抛出此异常以指示实例也无法被克隆。
浅拷贝与深拷贝



浅拷贝与深拷贝;
如果拷贝后于拷贝前的变量存在内存共享,则为浅拷贝,没有则 为深拷贝。

2.getClass()

:获取当前类的Class对象,运行时的对象,保存了当前类的类信息。

3.toString()

获取当前对象的类型@地址
地址使用hashcode值来表示的

4.equals:

在父类(Object)中和 相同
子类重写equals方法
"
"比较的是地址
"equals"不能做基本数据类型的比较。默认比较地址,重写比较 内容

5.finalize():

用于资源释放,当垃圾回收器确定不存在该对象的更多引用时,由对象的垃圾回收器调用此方法

6.hashCode()

equals方法和重写hashCode()
p1.equals(p2) ->true 可以推出来hashCode值相等
p1.hashCode() == p2.hashCode 推不出来两者equals

参考文献https://blog.csdn.net/Rex_WUST/article/details/95739535

7.wait()

线程等待,并释放锁,必须放在同步代码块中,否则汇报IllegalMonitorStateException(违反
监控器状态异常)。

notify()

用来随机选取一个处于等待池的线程进入锁池去竞争获取锁地机会

notifyAll()

让所有处于等待池的线程全部进入锁池去竞争获取锁的机会

以上是关于Object类中的方法的主要内容,如果未能解决你的问题,请参考以下文章

字符串类中的Object的equals方法和自定义类中的Object的equal方法之间有什么区别

javase学习二

类中的装饰器在Pycharm中抛出警告

Object类中的方法

Object类中的方法

Object 类中的 equals方法