这几天分析了几个类的源码,有了很多的思路,对于一些算法和数据结构有了一定了解。但是,我对于各个类包还是迷糊,这里补充下,让大家有个清晰的认识。
这里我主要以jdk1.6版本为例,现在版本已经是1.9了,但是实际开发的时候有很多问题暂时不说。
Java类库概念:Java的应用程序接口以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java的类库。
包名以 Java 开始的包是 Java 核心包 (Java Core Package) ;
包名以 Javax 开始的包是 Java 扩展包 (Java Extension Package) ,例如 javax.swing 包;
常用的 Java 核心包 (Java Core Package)
1. java.lang Java 编程语言的基本类库,在使用 Java 时,除了 java.lang 外,其他的包都需要 import 语句引入之后才能使用。
- java.applet 创建 applet 需要的所有类
- java.awt 创建用户界面以及绘制和管理图形、图像的类
- java.io 通过数据流、对象序列以及文件系统实现的系统输入、输出
- java.NET 用于实现网络通讯应用的所有类
- java.util 集合类、时间处理模式、日期时间工具等各类常用工具包
其它还有 - java.sql 访问和处理来自于 Java 标准数据源数据的类
- java.test 以一种独立于自然语言的方式处理文本、日期、数字和消息的类和接口
- java.security 设计网络安全方案需要的一些类
- java.beans 开发 Java Beans 需要的所有类
- java.math 简明的整数算术以及十进制算术的基本函数
- java.rmi 与远程方法调用相关的所有类
常用的 Java 扩展包 (Java Extension Package) - javax.accessibility 定义了用户界面组件之间相互访问的一种机制
- javax.naming.* 为命名服务提供了一系列类和接口
- javax.swing.* 提供了一系列轻量级的用户界面组件,是目前 Java 用户界面常用的包
其中最重要的是java.lang和java.util。
java.lang 包
这个包称为 java 语言包,是由编译器自动引入的。程序中不必用 import 语句就可以使用。它所包含的类和接口对所有实际的 Java 程序都是必要的。 - object 类
- 数学类 (Math)
- 数据类型类
- 线程类
- 字符串类 (String 类和 StringBuffer 类 )
- 系统及运行类 (System 类和 Runtime 类 )
- 错误和异常处理类 (Throwable 、 Exception 、 Error)
- 过程类 (process)
java.util 包 - 日期类、日历类( Data 、 Calendar 、 GregorianCalendar )
- 随机数类( Random )
- 位运算类( BitSet )
- 矢量类( Vector )
- 数据结构类( Stack )
- 散列表类( Hashtable )
- StringTokenizer类
1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序。
2.java.awt包 java.awt包中的类提供了图形界面的创建方法,包括按钮、文本框、列表框、容器、字体、颜色和图形等元素的建立和设置。
3.javax.swing包 javax.swing包为Java编写的图形界面提供创建类,利用javax.swing包的类建立的界面元素可调整为各种操作系统的界面风格,支持各种操作平台的界面的开发。此外,swing包还提供了树形控件、标签页控件、表格控件的类。Java.swing包中的很多类都是从java.awt包的类继承而来,Java保留使用java.awt包是为了保持技术的兼容性,但应尽量地使用javax.swing包来开发程序界面。
4.java.io包 java.io包的类提供数据流方式的系统输入输出控制、文件和对象的读写串行化处理,比较常用的类包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、FileInputStream和FileOutputStream等。
5.java.util包 java.util包提供时间日期、随机数以及列表、集合、哈希表和堆栈等创建复杂数据结构的类,比较常见的类有:Date、Timer、Random和LinkedList等。
6.java.net包 java.net包提供网络开发的支持,包括封装了Socket套接字功能的服务器Serversocket类、客户端Socket类以及访问互联网上的各种资源的URL类。
7.java.applet包 java.applet包只有一个Applet类,用于开发网页上的Applet小程序,使网页具有更强的交互能力以及多媒体、网络功能。
这七个包中的类库都是java编程语言中最基本最常用的,同学们一定要熟练掌握。这样才能在java编程语言学习中提高效率,事半功倍。