顶级父类java.lang.Object的九个方法

Java中lang包的常用方法介绍 JAVA API(图片来源:实验楼) 包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() int 以 int 型返回此 Integer 对象 zebra stripes are neat 以 int 型返回此 Integer 对象 toString() String 返回一个表示该 Inte... 阅读详情

一、简述

Object 类是除自己外所有 Java 类的终极父类。当然,数组也继承了 Object 类,然而,接口是不继承 Object 类的。因为编译器会自动引入java.lang包中的类型,即import java.lang.Object, 没必要声明出来。Java 也没有强制声明“继承 Object 类”。否则,就不能继承除 Object 类之外别的类了,因为 Java 不支持多继承。

Java 的任何类都继承了这些方法,并且可以重写/覆盖不被final修饰的方法。例如,没有 final 修饰的 toString() 可以被重写,但是 final wait() 就不行。

二、clone()

clone() 的访问权限是protected,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出CloneNotSupportedException。

浅克隆(也叫做浅拷贝)仅仅复制了这个对象本身的成员变量,该对象如果引用了其他对象的话,不对其复制。Object 源码中 clone() 的实现:protected native Object clone() throws CloneNotSupportedException;

【native关键字】
简言之,一个 native method 就是一个 Java 调用非 Java 代码的接口。native说明其修饰的方法是一个原生方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java 语言本身不能对操作系统底层进行访问和操作,但是可以通过 JNI 接口调用其他语言来实现对底层的访问。

三、getClass()

final 方法,获得运行时类型。

四、toString()

该方法用得比较多,一般子类都有重写/覆盖。

五、finalize()

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

Java 允许在类中定义一个名为 finalize() 的方法。它的工作原理是:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其 finalize()。并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

六、equals()

一般 equals 和 == 是不一样的,但是在 Object 中两者是一样的。子类一般都要重写这个方法。

public boolean equals(Object var1) {
    return this == var1;
}

equals() 和 == 运算符比较:
equals() 可以用来检查一个对象与调用 equals() 的这个对象是否相等。虽然 “ == ”运算符可以比较两个数据是否相等,但是无法比较对象的内容。就是说,“==”通过是否引用了同一个对象来判断两个对象是否相等,这被称为“引用相等”。这个运算符不能通过比较两个对象的内容来判断它们是不是逻辑上的相等。

七、hashCode()

该方法用于哈希查找,可以减少在查找中使用 equals 的次数,重写了equals()一般都要重写hashCode()。这个方法在一些具有哈希功能的 Collection 中用到。一般必须满足 obj1.equals(obj2)==true,可以推出obj1.hashCode()==obj2.hashCode(),但是 hashCode 相等不一定就满足 equals。不过为了提高效率,应该尽量使上面两个条件接近等价。如果不重写 hashcode(),在HashSet中添加两个 equals 的对象(因为对象地址不一样,会认为是 2 个不同的对象),会将两个对象都加入进去。

八、wait()

wait() 就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait() 一直等待,直到获得锁或者被中断。wait(long timeout) 设定一个超时间隔,如果在规定时间内没有获得锁就返回。调用该方法后当前线程进入睡眠状态,直到以下事件之一发生:

  1. 其他线程调用了该对象(Object)的 notify()。
  2. 其他线程调用了该对象(Object)的 notifyAll()。
  3. 其他线程调用了 interrupt 中断该线程。
  4. 时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出InterruptedException。

九、notify()

该方法唤醒在该对象(Object)上等待的某个线程。

十、notifyAll()

该方法唤醒在该对象上等待的所有线程。

AXI backpressure反压机制代码 本文将xilinx的axi读写代码进行修改,实现吞吐量达到50% 阅读详情

相关推荐

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

java基础 - 顶级父类:Object

Object类详解 equals和==的区别

catalpaxuan的博客 2585

【STM32实战】利用STM32CubeMX配置PWM互补输出驱动电机

本文详细介绍了如何利用STM32CubeMX配置STM32高级定时器的PWM互补输出功能,以驱动电机等需要半桥/全桥电路的应用。通过图形化界面设置定时器参数、使能互补通道并配置关键的死区时间,结合代码示例演示了如何启动PWM输出和动态调整占空比,确保输出安全、精确的互补信号,避免MOS管直通风险,提升驱动可靠性。

weixin_29161785的博客 535

java clone 父类_顶级父类java.lang.Object的九个方法

一、简述Object类是除自己外所有java类的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的。Java的任何类都继承了这些方法,并且可以覆盖不被final修饰的函数。例如,没有final修饰的toString()可以被覆盖,但是final wait()就不行。因为编译器会自动引入java.lang包中的类型,即 import java.lang.Object, 没...

weixin_30806145的博客 262

从零开始:在Ubuntu 22.04上配置Isaac Gym Preview 3环境(含常见错误解决方案)

本文提供了在Ubuntu 22.04系统上从零开始配置Isaac Gym Preview 3环境的完整实战指南。内容涵盖NVIDIA驱动安装、Conda环境搭建、CUDA与PyTorch版本精准匹配、Isaac Gym核心安装与验证,并重点介绍了针对四足机器人等复杂系统的强化学习训练环境配置、常见错误解决方案及性能调优技巧,旨在帮助开发者高效部署这一高性能物理仿真平台。

weixin_29048775的博客 392

光猫桥接后网速不升反降?可能是你的路由器在“偷懒”!

本文详细分析了光猫桥接后网速不升反降的常见原因,包括路由器性能不足、MTU/MSS值设置错误等,并提供了四个关键排查步骤和路由器选购指南。通过优化PPPoE拨号设置和硬件配置,帮助用户解决网速下降问题,提升家庭网络性能。

hqmln的博客 611

关于Java顶级父类

Java的顶级父类是? object object有哪几个自带的方法(最少说5个) 1、clone 2、equals 3、hashCode 4、getClass 5、wait 6、notify 7、notiftAll 8、toString

老赖的小弟的博客 898

哨兵1号回波数据(L0级)包格式解析与成像参数提取

提取哨兵1号数据包的辅助数据、回波数据、定标数据。matlab代码在文末

3124

Java中最顶层的父类是? 里面有什么方法?

文章目录前言0、Object()1、registerNatives()2、getClass()3、hashCode()4.equals5.clone()总结 前言 Java中最顶层的父类是Object,这是一道送分题。 而里面有什么方法,一般程序员都答不全(因为正常情况不需要记这么多)。 让我们先看一下源码概览 private static native void registerNatives(); //返回此对象的运行时类. public final native Class<?> get

with_luck的博客 1669

优化相机姿态和三维点云的Bundle Adjustment算法及其编程实现

重投影误差是指将优化后的相机姿态和三维点云投影到图像平面上,与对应的图像特征点之间的距离。Bundle Adjustment(捆绑调整)是一种用于同时优化相机姿态和三维点云的算法,它可以提高三维重建和相机定位的精度。下面是一个简单的Python示例代码,演示了如何使用Bundle Adjustment算法优化相机姿态和三维点云的参数。通过以上步骤,Bundle Adjustment算法可以不断地优化相机姿态和三维点云的参数,从而提高重建和定位的精度。Bundle Adjustment算法的编程实现。

CyberXZ的博客 740

创建 Fiori Space 时看不到传输请求的根因与排查路径

摘要: 在创建Fiori Space时,若Transport字段下拉列表为空,通常是因为系统未找到符合要求的传输请求。主要原因是: 请求类型不匹配:需使用Customizing request而非Workbench request。 用户权限问题:当前用户需在请求下有可用的task。 客户端或系统不一致:请求需在当前客户端和正确系统(如后端)中创建。 解决方法: 在当前客户端和系统中新建Customizing request,确保包含用户task。 检查是否为前后端分离架构,确保请求创建在正确的系统。 验证

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 107

JAVA顶级父类 — Object

Object API—ApplicationProgramming Interfaces 提供了一些列的接口以及子接口或者实现类(方法要么是protected要么就是默认(public)) 1.概念 是java中所有类的顶级父类,没有父类的类,所有类默认继承Object类,所有的类可以拿到Object里的属性和方法(重写) 2.重要方法 clone()—返回的是存储了原对象信息的新对象如果对象,想要操作克隆方法就要让类实现Cloneable接口才能支持克隆,Cloneable里没有信息只是标记,实现这个接口

Ajaxtxdy的博客 1074

置顶必读(1) |《YOLOv11实战:从入门到深度优化》专栏导读,带你一文了解本专栏!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!

**My Coding Family** 12万+

没有父类的Java Class是如何从Object继承的

经常有Java初学者会问为什么一个没有父类的Java类会自动从java.lang.Object类继承。本文将从实践的角度来为大家进行深度剖析。 AD:2014WOT全球软件技术峰会北京站 课程视频发布 经常有Java初学者会问为什么一个没有父类的Java类会自动从java.lang.Object类继承。如下面是一个普通的Java类: public class Test    // 从Ob

congcongsuiyue的专栏 2795

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java中默认父类_java.lang.Object是如何成为默认父类的

本文为原创,如需转载,请注明作者和出处,谢谢!经常有Java初学者会问为什么一个没有父类的Java类会自动从java.lang.Object类继承。如下面是一个普通的Java类:publicclassTest//从Object类继承{publicstaticvoidmain(String[]args){System.out.println(newTest().toString());}}从上面的...

weixin_34662807的博客 608

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Java】根父类 java.lang.Object

根父类 java.lang.Object 根父类java.lang.Object Object类是所有Java类的根父类 根父类 如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类 public class Person { ... } 等价于: public class Person extends Object { ... } 根父类java.lang.Object 根据继承的特点 (1)父类中所有的属性和方法都会继承到子类中,或者说所有对象都具有Object类的方

渐若窥宏大的博客 869

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java.lang.Object

java.lang.Object 描述: 所有Java类的父类

WhiteCrowZHZ 675

Java顶级父类-Object

一、     Object1.        在java类的继承结构中,java.lang.Object类位于顶端。2.        如果定义一个java类时没有使用extends关键字声明其父类,则其父类默认为java.lang.Object类。3.        Object类型的引用变量可以指向任何类型对象二、     toString方法1.     概要Ø  String       ...

会骷髅的跳舞先生的博客 739

Java——Object类常用的方法实现

java.lang.Object是一个特殊的类,所有的类都是直接或者间接继承该类而得到的。即如果某个类没有使用extends关键字,则该类的默认关键字就是直接或间接而得来的。 下面给出java.lang.Object类的常用方法: 常用方法 功能说明 public boolean equals(Object obj) 判断两个对象是否为同一个对象 public String t...

Monkey_D_Dc的博客 5428

java获取object对象中的值_Java-Object 类

Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。Object 类可以显示继承,也可以隐式继承,以下两种方式时一样的:显示继承:public c...

weixin_39949776的博客 7027

java创建一个子类对象是会调用父类的构造方法会不会创建父类

1、子类在创建实例后,类初始化方法会调用父类的初始化方法(除了Java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即" <init>"方法(...

983

【Java】20.常用API之lang.Object类

Java.lang包 java.lang是基础的语言包,包含了Java程序设计语言最基础的类,使用频繁,系统默认自动导入。 Interfaces:Appendable、AutoCloseable、Cloneable、Comparable、Iterable、Runnable... Classes:Boolean、Byte、Class、Double、Enum、Float、Inteage、L...

Faceno 1167

Java总结篇系列:java.lang.Object

从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解。 Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起。 Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为...

编程知识分享 8442

java的父类java.lang.object,java源码阅读之java.lang.Object

object是所有类的父类,任何类都默认继承object。object类到底实现了哪些方法?1.clone方法保护方法,实现对象的浅复制,只有实现了cloneable接口才可以调用该方法,否则抛出clonenotsupportedexception异常。2.getclass方法final方法,获得运行时类型。3.tostring方法该方法用得比较多,一般子类都有覆盖。4.finalize方法该方法...

weixin_39637571的博客 115

object object什么意思_Object类有哪些方法?各有什么作用?

上帝类 - Object类 总共13个方法:Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的,原因在这里指出:Section 9.6.3.4 of the Java Language Specification:“Object类不作为接口的父类”。Java的任何类都继承了这些函数,并且...

weixin_39613385的博客 1万+

java的父类java.lang.object,根父类:java.lang.Object

1、根父类(1)Object类型是所有引用数据类型的超类,包括数组类型如果一个类没有显式的声明它的父类,那么它的父类就是Object。(2)Object类中的方法,会继承到所有类型的对象中,包括数组对象。即所有对象都可以调用Object类中声明的方法(3)Object类型变量或数组可以接收和存储所有类型的对象。2、它的常用方法们(1)public String toString():返回对象的详细...

weixin_28890693的博客 562
上一篇: 外观模式(Facade Pattern)
下一篇: 浅克隆和深克隆
JFS_Study
博客等级 码龄6年 363粉丝 359原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JFS_Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值