概述
我是猿人,一个热爱技术、热爱编程的IT猿。技术是开源的,知识是共享的!
写作是对自己学习的总结和记录,如果您对 Java、分布式、微服务、中间件、Spring Boot、Spring Cloud等技术感兴趣,可以关注我的动态,我们一起学习,一起成长!
用知识改变命运,让家人过上更好的生活,互联网人一家亲!
---公众号「猿码天地」
Java知识学堂:https://gitee.com/zhangbw666/it-knowledge
你多学一样本事,就少说一句求人的话,现在的努力,是为了以后的不求别人,实力是最强的底气。记住,活着不是靠泪水博得同情,而是靠汗水赢得掌声。——《写给程序员朋友》
今天说一道基础题型,不过很多人会忽略或者至少说不完整,但是面试时被问到的几率还是很大的。
面试题
Object有几种方法呢?
Java语言是一种单继承结构语言,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。
如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。
Object的方法我们在平时基本都会用到,但如果没有准备被忽然这么一问,还是有点懵圈的。
分析
Object类是Java中所有类的基类。位于java.lang包中,一共有13个方法。如下图:
具体解答
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的实现原理
-
谈谈类加载机制
后续我们就这些常见问题一一做一些解答,当然,可能大部分人对这类问了八百遍的问题已经倒背如流了
你多学一样本事,就少说一句求人的话,现在的努力,是为了以后的不求别人,实力是最强的底气。记住,活着不是靠泪水博得同情,而是靠汗水赢得掌声。——《写给程序员朋友》
粉丝福利
猿码天地-Java知识学堂脑图 (文件密码:请关注公众号【猿码天地】,回复关键字‘活到老学到老’获取)
猿码天地-Java超神之路脑图 (文件密码:请关注公众号【猿码天地】,回复关键字‘活到老学到老’获取)
福利一:月薪3万Java优秀简历模板
简历是对你过往学习和工作的一个总结,一份好的简历容易给人留下深刻印象,更容易被企业发现,创造更多的就业机会。优秀的简历可以把你推销给优秀的企业,看看别人的优秀简历范文,让自己的简历更加优秀吧。
可以在微信搜索
「猿码天地」
,关注后回复关键字「简历」
即可获取!
福利二:全网最全一线大厂Java笔试面试题
面试题涵盖了Spring核心知识、SpringMVC、SpirngBoot、SpringCloud、JVM、数据库、常用消息组件Kafka、RabbitMQ、分布式、微服务组件Eureka、Ribbon、Config、Feign、Nacos、Zookeeper等、SQL优化、常用服务器Tomcat、Nginx、多线程、高并发等等。
可以在微信搜索「猿码天地」,关注后回复关键字「BAT面试」即可获取!
福利三:1000+本Java开发精华电子书
猿人从事Java开发多年,从最初的小白,一步步通过自己不断的学习、摸索,终于走上了码农这条没有回头的路。学习是无止境的,有时零零散散的学习资料难以将我们的知识成体系的串联起来。为此,为了让大家在学习Java的道路上成系统的学习,少走弯路,猿人为大家整理了1000+本Java开发精华电子书,毕竟现在电子书也是挺贵的,哈哈,希望能给大家带来帮助。
电子书涵盖:Java入门、并发编程、底层、常用框架、性能优化、设计模式、工具、计算机网络、操作系统、数据库、数据结构与算法、大数据、架构设计、Linux知识、面试、扩展、管理、容器化技术、云计算、微服务、领域设计等方方面面,猿人还会给持续更新。
获取方式
第一种:微信搜索「猿码天地」或者扫描下面的二维码,关注后回复关键字「电子书」即可获取!
第二种:Gitee:https://gitee.com/zhangbw666/java-books
希望程序员朋友能认真学习,根据自身需要获取对应的电子书,学习是永无止境的。
你多学一样本事,就少说一句求人的话,现在的努力,是为了以后的不求别人,实力是最强的底气。记住,活着不是靠泪水博得同情,而是靠汗水赢得掌声。 ——《写给程序员朋友》
最后
以上就是还单身书包为你收集整理的阿里面试官:说说Object类下面有几种方法呢?粉丝福利福利一:月薪3万Java优秀简历模板福利二:全网最全一线大厂Java笔试面试题福利三:1000+本Java开发精华电子书的全部内容,希望文章能够帮你解决阿里面试官:说说Object类下面有几种方法呢?粉丝福利福利一:月薪3万Java优秀简历模板福利二:全网最全一线大厂Java笔试面试题福利三:1000+本Java开发精华电子书所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复