• 一分钟彻底掌握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编程中不可或缺的一部分。

  • 相关阅读:
    详谈 MySQL 8.0 原子 DDL 原理
    菜狗杯Misc一层一层一层地剥开我的♥wp
    毕设——基于人脸表情的桌面交互精灵设计(分享一下成果,附上人脸表情的数据集和自己训练出来yolov5模型以及基于PYQT5运行yolov5的交互界面)
    Chrome 118 版本中的新功能
    【3D游戏建模全流程教学】在Maya中制作小岛模型
    如何处理GPU训练显存不足[memory isn't enough][alloc failed][out of memory]
    Java中的ORM框架——myBatis
    再有人说技术人不懂浪漫,就把这篇文章甩他脸上
    最新计算机java毕业设计选题题目推荐
    Spring事务之@Transactional注解详解
  • 原文地址:https://blog.csdn.net/FASTR/article/details/140000269