首页 > 其他分享 >说说Object类下面有几种方法呢?

说说Object类下面有几种方法呢?

时间:2023-09-20 17:24:28浏览次数:32  
标签:下面 引出 对象 Object equals 几种 线程 方法

今天说一道基础题型,不过很多人会忽略或者至少说不完整,但是面试时被问到的几率还是很大的。

面试题

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的实现原理

  • 谈谈类加载机制

后续我们就这些常见问题一一做一些解答,当然,可能大部分人对这类问了八百遍的问题已经倒背如流了

顶尖架构师栈

关注回复关键字

【C01】超10G后端学习面试资源

【IDEA】最新IDEA激活工具和码及教程

【JetBrains软件名】 最新软件激活工具和码及教程

工具&码&教程

转载于:https://mp.weixin.qq.com/s/_rzg2H1f8_NsvyXf3zGbmg

标签:下面,引出,对象,Object,equals,几种,线程,方法
From: https://www.cnblogs.com/dc-s/p/17717832.html

相关文章

  • 每日一题:如何判断是否是数组,一个既简单又复杂的问题。(不要再用Object.prototype.toStr
    1、不要使用Object.prototype.toString.call()正常情况下:constarr=[1,2,3,4,5]constobj={}console.log(Object.prototype.toString.call(arr))//[Object,Array]console.log(Object.prototype.toString.call(obj))//[Object,Object]过去我们能够通过判断Object.proto......
  • 谈一谈 IPA 上传到 App Store Connect 的几种方法
    1、前言关于上传ipa包到AppStoreConnect的方法,相信有iOS开发经验的同学,一定知道完成App开发后,一般都是用Xcode的Archive打包后上传到苹果后台。所以,这个就是今天要写的水文?显示不是吧!答案肯定不是啊,本文将给大家一个相对全面介绍。苹果开发的知识点非常多,官方文档也......
  • 中国的算盘中包含了哪几种进制?
    中国的算盘中包含了哪几种进制?━━━━━━━━━━━━━━━━━━━━━━中国的算盘是一种混合进制计算工具,包含了以下4种进制形式:五进制:在算盘的下部分,当上面的珠子满5时,就进到上面的珠子,这个时候下面的珠子每颗代表1,上面的珠子代表5。二进制:在算盘的上部分,当上面的珠子......
  • 软件测试|探索Python中获取最高数值的几种方法
    前言在数据分析、统计和编程领域,经常会遇到需要从一组数值中找出最高数值的情况。Python作为一门功能丰富的编程语言,提供了多种方法来实现这一目标。在本文中,我们将探索几种获取最高数值的方法,帮助大家在不同情况下选择最适合的方法。使用max()内置函数Python内置了max()函数,它......
  • asp.Net Core 改变响应值的几种方法
    1.中间件usingMicrosoft.AspNetCore.Mvc;usingSystem.Text;varbuilder=WebApplication.CreateBuilder(args);builder.Services.AddControllers();varapp=builder.Build();app.UseMiddleware<ReplaceMiddleware>();app.MapControllers();app.Run();public......
  • HTTP请求中,几种常见的Content-Type类型
    一、application/x-www-form-urlencoded最常见的POST提交数据的方式,原生Form表单,如果不设置enctype属性,默认为application/x-www-form-urlencoded方式提交数据。首先,Content-Type被指定为application/x-www-form-urlencoded;其次,提交的表单数据会转换为键值对并按照key1=v......
  • 当你的计算机开机后直接跳过了引导界面,而直接进入Windows界面,这可能是由于以下几种启
    当你的计算机开机后直接跳过了引导界面,而直接进入Windows界面,这可能是由于以下几种启动故障之一导致的:引导顺序错误:在计算机引导时,硬盘、光驱、USB等设备的启动顺序是有优先级的。如果设置不正确,计算机可能会跳过引导界面而直接选择第一个可引导设备,通常是硬盘。你可以进入计算机......
  • 使用Java去除html标签的几种方法
    用Java解析html,删除所有的HTML标签,只保留纯文字内容,有以下几种方法:1.使用正则表达式html内容从程序角度来讲,就是一个字符串,我们可以对其按照纯文本处理的方式来处理。我们在做文本处理的时候,第一个想到的就是正则表达式。从一个字符串中删除HTML,对于正则来说,还是比较简单的......
  • 【原创】BGP中几种时间上的分析
                                                    BGP当中的关于几种时间上的简单分析在刚接触BGP时,出现了几种时间上的概念,对于这些时间上的概念,除了熟悉之外,也有一些疑惑,疑......
  • 【原创】重置BGP邻居的几种情况和方式
                                                 重置BGP邻居的几种情况和方式1. 什么情况下我们才会对BGP邻居进行重置?答:当我们有以下几种情况的时候,我们才会重置一个BGP的连接。......