java.lang 包简介java.lang 是 Java 语言的核心包,它的名字中的 lang 是 "language"(语言)的缩写。
这个包包含了构建 Java 语言和平台最基础、最核心的类和接口。它是如此基础和常用,以至于它是 Java 中唯一一个在所有 Java 程序中默认自动导入的包,无需使用 import 语句就可以直接使用其内部的所有公共类和接口。
java.lang 包中包含了 Java 编程中不可或缺的基石,主要包括以下几个方面:
Object: 所有 Java 类的最终祖先(根类)。它定义了所有对象共有的基本行为,例如 equals()、hashCode()、toString()、getClass() 等方法。Class: 用于描述和操作类(即反射机制的基础)。通过它可以获取类的信息、构造对象等。Java 的八种基本数据类型(primitive types)都有对应的包装类 (Wrapper Classes),它们全部位于 java.lang 包中,允许将基本类型作为对象处理。
| 基本类型 | 包装类 |
|---|---|
int |
Integer |
char |
Character |
boolean |
Boolean |
double |
Double |
long |
Long |
float |
Float |
byte |
Byte |
short |
Short |
String: 代表不可变的字符序列,是 Java 中最常用的类之一。StringBuffer: 代表可变的字符序列,线程安全,效率较低。StringBuilder: 代表可变的字符序列,非线程安全,但在单线程环境下效率更高。Throwable: Java 异常和错误的顶级父类(所有异常的根类)。Exception: 所有可捕获异常的父类。RuntimeException: 所有非受检异常(运行时异常)的父类,例如 NullPointerException、ArrayIndexOutOfBoundsException 等。Error: 所有系统级错误(通常不可恢复)的父类。System: 提供了与系统相关的静态方法,如标准输入/输出流(System.out)、获取当前时间(System.currentTimeMillis())以及退出程序(System.exit())。Runtime: 提供了与 Java 运行时环境交互的方法,例如执行外部命令或获取可用内存。Math: 提供了基本的数学运算功能,如三角函数、指数、对数、平方根等。简而言之,java.lang 包是 Java 编程的基石,如果缺少了这个包,Java 程序将无法正常工作。它封装了最核心的对象模型、数据类型、字符串操作、异常处理和系统交互功能。