Java 官方为开发者提供了很多功能强大的类, 这些类被分别放在各个包中, 随 JDK 一起发布, 称为 Java 类库或 JavaAPI.
API(Application Programming Interface, 应用程序编程接口) 是一个通用概念.
例如我编写了一个类, 可以获取计算机的各种硬件信息, 它很强大很稳定, 如果你的项目也需要这样一个功能, 那么你就无需再自己编写代码, 将我的类拿来直接用就可以. 但是, 我的类代码很复杂, 让你读完这些代码不太现实, 而且我也不希望你看到我的代码 (你也没必要也不希望读懂这些晦涩的代码), 我要保护我的版权, 怎么办呢?
我可以先将我的类编译, 并附带一个文档, 告诉你我的类怎么使用, 有哪些方法和属性, 你只需要按照文档的说明来调用就完全没问题, 既节省了你阅读代码的时间, 也保护了我的版权. 例如, 获取 CPU 信息的方法:
getCpuInfo(int cpuType);
这就是一个 API. 也就是说, 该文档中描述的类的使用方法, 就叫做 API.
我也可以开发一个软件, 用来清理计算机中的垃圾文件, 我比较有公益心, 希望让更多的开发人员使用我的软件, 我就会在发布软件的同时附带一个说明文档, 告诉你怎样在自己的程序中调用, 这也叫做 API.
看 API 方式
先看包名
再看类 (j 继承关系, 类声明)
看类中方法 (方法名, 参数, 返回类型, 修饰符)
目录结构
Java 类库中有很多包:
. 以 java.* 开头的是 Java 的核心包, 所有程序都会使用这些包中的类;
. 以 javax.* 开头的是扩展包, x 是 extension 的意思, 也就是扩展. 虽然 javax.* 是对 java.* 的优化和扩展, 但是由于 javax.* 使用的越来越多, 很多程序都依赖于 javax.*, 所以 javax.* 也是核心的一部分了, 也随 JDK 一起发布.
. 以 org.* 开头的是各个机构或组织发布的包, 因为这些组织很有影响力, 它们的代码质量很高, 所以也将它们开发的部分常用的类随 JDK 一起发布.
在包的命名方面, 为了防止重名, 有一个惯例: 大家都以自己域名的倒写形式作为开头来为自己开发的包命名, 例如百度发布的包会以 com.baidu.* 开头, w3c 组织发布的包会以 org.w3c.* 开头, 微学苑发布的包会以 net.weixueyuan.* 开头......
组织机构的域名后缀一般为 org, 公司的域名后缀一般为 com, 可以认为 org.* 开头的包为非盈利组织机构发布的包, 它们一般是开源的, 可以免费使用在自己的产品中, 不用考虑侵权问题, 而以 com.* 开头的包往往由盈利性的公司发布, 可能会有版权问题, 使用时要注意.
java 中常用的几个包介绍:
包名 | 说明 |
java.lang | 该包提供了 Java 编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread 等,不使用该包就很难编写 Java 代码了。 |
java.util | 该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 |
java.io | 该包通过文件系统、数据流和序列化提供系统的输入与输出。 |
java.net | 该包提供实现网络应用与开发的类。 |
java.sql | 该包提供了使用 Java 语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据 API。 |
java.awt | 这两个包提供了 GUI 设计与开发的类。java.awt 包提供了创建界面和绘制图形图像的所有类,而 javax.swing 包提供了一组 “轻量级” 的组件,尽量让这些组件在所有平台上的工作方式相同。 |
javax.swing | |
java.text | 提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。 |
来源: http://www.bubuko.com/infodetail-3016104.html