JAVA类库

Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个JAR包中,随JDK一起发布,称为Java类库或Java API。(个人感觉类库≈包,在 JDK 6 中约有 202 个包,3777个类、接口、异常、枚举、注释和错误。)

例如我编写了一个类,可以获取计算机的各种硬件信息,它很强大很稳定,如果你的项目也需要这样一个功能,那么你就无需再自己编写代码,将我的类拿来直接用就可以。但是,我的类代码很复杂,让你读完这些代码不太现实,而且我也不希望你看到我的代码(你也没必要也不希望读懂这些晦涩的代码),我要保护我的版权,怎么办呢?
我可以先将我的类编译,并附带一个文档,告诉你我的类怎么使用,有哪些方法和属性,你只需要按照文档的说明来调用就完全没问题,既节省了你阅读代码的时间,也保护了我的版权。例如,获取CPU信息的方法:getCpuInfo(int cpuType);

我也可以开发一个软件,用来清理计算机中的垃圾文件,我比较有公益心,希望让更多的开发人员使用我的软件,我就会在发布软件的同时附带一个说明文档,告诉你怎样在自己的程序中调用,这也叫做API。Java API也有一个说明文档,入口地址:http://www.oracle.com/technetwork/java/api

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中常用的包:lang,util,net,sql,awt,swing(javax中的),text

import的用法

import package1[.package2…].classname;
例如:‘

import java.util.Date; // 导入 java.util 包下的 Date 类
 import java.util.Scanner; // 导入 java.util 包下的 Scanner 类
 import javax.swing.*; // 导入 javax.swing 包下的所有类,* 表示所有类

import 只能导入包所包含的类,而不能导入包

当import p1.test后,java运行环境将优先到.\p1\test.class寻找并加载字节码文件,如果找不到,则在classpath后面的路径中寻找。