温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Object类有几种方法

发布时间:2021-10-13 15:30:00 来源:亿速云 阅读:102 作者:iii 栏目:编程语言

这篇文章主要介绍“Object类有几种方法”,在日常操作中,相信很多人在Object类有几种方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Object类有几种方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

面试题

Object有几种方法呢?

  • Java语言是一种单继承结构语言,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。

  • 如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。

  • Object的方法我们在平时基本都会用到,但如果没有准备被忽然这么一问,还是有点懵圈的。

分析

Object类是Java中所有类的基类。位于java.lang包中,一共有13个方法。如下图: Object类有几种方法 具体解答

1.Object() 这个没什么可说的,Object类的构造方法。(非重点)

2.registerNatives() 为了使JVM发现本机功能,他们被一定的方式命名。例如,对于java.lang.Object.registerNatives,对应的C函数命名为Java_java_lang_Object_registerNatives。

通过使用registerNatives(或者更确切地说,JNI函数RegisterNatives),可以命名任何你想要你的C函数。(非重点)

3.clone() clone()函数的用途是用来另存一个当前存在的对象。只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。(注意:回答这里时可能会引出设计模式的提问)

4.getClass() final方法,用于获得运行时的类型。该方法返回的是此Object对象的类对象/运行时类对象Class。效果与Object.class相同。(注意:回答这里时可能会引出类加载,反射等知识点的提问)

5.equals() equals用来比较两个对象的内容是否相等。默认情况下(继承自Object类),equals和==是一样的,除非被覆写(override)了。(注意:这里可能引出更常问的“equals与==的区别”及hashmap实现原理的提问)

6.hashCode() 该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象拥有相等的hashCode。(同样,可能引出hashmap实现原理的提问)

7.toString() toString()方法返回该对象的字符串表示,这个方法没什么可说的。

8.wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。(引出线程通信及“wait和sleep的区别”的提问)

9.wait(long timeout) 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。(引出线程通信及“wait和sleep的区别”的提问)

10.wait(long timeout, int nanos) 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。(引出线程通信及“wait和sleep的区别”的提问)

11.notify() 唤醒在此对象监视器上等待的单个线程。(引出线程通信的提问)

12.notifyAll() 唤醒在此对象监视器上等待的所有线程。(引出线程通信的提问)

13.finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。(非重点,但小心引出垃圾回收的提问)

引申常见问题

  • equals() 与 == 的区别是什么?

  • hashCode() 和 equals() 之间有什么联系?

  • wait()方法与sleep()方法的区别

  • 为什么重写了equals就必须重写hashCode

  • HashMap的实现原理

  • 谈谈类加载机制

到此,关于“Object类有几种方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI