一分钟彻底掌握Java的Object类与java.lang包

Object

在Java中,Object 类是所有类的根类。换句话说,Java中的每一个类都直接或间接地继承了 Object 类。Object 类定义了一些基本的方法,这些方法可以被所有的Java对象使用。

以下是 Object 类的一些主要特点和常用方法:

特点:

  1. 根类Object 类是Java类层次结构中的根类,所有的类都直接或间接地继承自它。

  2. 默认方法Object 类定义了一些方法,这些方法为所有Java对象提供了基本的行为。

方法名描述
toString()返回对象的字符串表示。默认实现返回类名和对象的哈希码的无意义字符串,但通常建议子类重写此方法以返回有意义的描述。
equals(Object obj)比较此对象与指定对象是否相等。默认实现是比较对象的内存地址(即判断两个对象是否是同一个对象的引用)。子类通常重写此方法以提供基于对象内容的比较。
hashCode()返回该对象的哈希码值。通常与哈希表(如HashMapHashSet)一起使用。当重写equals(Object obj)方法时,通常也需要重写此方法以保持一致性。
clone()创建并返回此对象的一个副本。默认实现是保护方法,子类需要实现Cloneable接口才能调用此方法,否则将抛出CloneNotSupportedException异常。
finalize()当垃圾回收器确定不存在对该对象的更多引用时,在对象被垃圾回收之前调用此方法。现代Java虚拟机已经很少使用此方法,且其行为可能因实现而异。
getClass()返回一个表示此Object运行类ClassClass对象。
notify()唤醒在此对象监视器上等待的单个线程。只有当前线程是此对象监视器的所有者时,才能调用此方法。
notifyAll()唤醒在此对象监视器上等待的所有线程。只有当前线程是此对象监视器的所有者时,才能调用此方法。
wait(long timeout)使当前线程等待(即暂停执行)直到其他线程调用此对象的notify()方法或notifyAll()方法,或者超过指定的时间量。当前线程必须拥有此对象监视器的所有权。
wait(long timeout, int nanos)wait(long timeout)类似,但增加了纳秒级精度的时间量。
wait()使当前线程等待(即暂停执行)直到其他线程调用此对象的notify()方法或notifyAll()方法。当前线程必须拥有此对象监视器的所有权。
注意:wait()notify()notifyAll() 方法通常与 synchronized 关键字一起使用,以在多线程环境中控制对共享资源的访问。这些方法必须在同步块或同步方法内调用,否则将抛出 IllegalMonitorStateException 异常。

Lang

java.lang包是Java编程语言的核心包之一,它包含了Java程序所需的基本类和接口。以下是一些java.lang包中的常用类及其简要介绍:

java.lang 包中的常用类可以转换为以下 Markdown 表格:

类名描述
ObjectJava 中所有类的根类,提供了基本的方法如 equals(), hashCode(), toString(), getClass(), notify(), notifyAll(), 和 wait() 等。
Byte, Short, Integer, Long, Float, Double, Character, Boolean基本数据类型的包装类,提供了将基本数据类型转换为对象类型(自动装箱)和将对象类型转换为基本数据类型(自动拆箱)的功能。
String用于处理字符串(文本)数据,提供了一系列方法来操作字符串,如连接、比较、查找、替换等。
StringBuffer用于在内存中构建和修改字符串,是可变的(mutable),提供了类似于 String 类的方法。
StringBuilderStringBuffer 类似,但非线程安全,因此在单线程环境中通常更快。
Math提供了一系列静态方法来进行数学计算,如三角函数、指数函数、对数函数、平方根等。
System提供了一些与系统交互的方法,如访问系统属性、输入/输出流等。
Class代表类的运行时类(class-object),提供了在运行时获取类的信息(如类名、方法、字段等)的功能。
Throwable(及其子类 ErrorException代表 Java 中的错误和异常,是所有错误和异常类的超类,提供了处理错误和异常的方法。
Process提供与本地进程的交互功能。
Runtime表示 Java 应用程序的运行时环境,允许应用程序与其运行的环境进行交互。
SecurityManager允许应用程序实现安全管理策略。

请注意,这个列表并不完整,但包含了 java.lang 包中一些最常用的类。

总的来说,java.lang包中的类为Java程序提供了基本的数据类型、字符串处理、数学计算、系统交互和错误处理等功能,是Java编程中不可或缺的一部分。

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值