在编写程序的时候,一般有不少功能是通用的,或者是很基础的,能够用这些功能来组成更发杂的功能代码。好比文件操做,不一样程序对文件的操做基本都是同样的,打开文件,关闭文件,读取文件里面的数据,往文件中写数据等等。所不一样的仅仅是文件路径不相同,文件内容不一样。若是把文件相关的操做编写成一个通用的类,无论哪一个程序员均可以直接使用,而没必要本身从新编写一遍操做文件的全部代码,那么程序员的工做效率就会大大提升。像这样把一些具备通用的功能编写成相应的类代码,就造成了类库。java
Java 的类库是 Java 语言提供的已经实现的标准类的集合,是 Java 编程的 API(Application Program Interface),它能够帮助开发者方便、快捷地开发 Java 程序。程序员在开发程序的时候,直接调用这些现成的类就能够了。这些类根据实现的功能不一样,能够划分为不一样的集合,每一个集合组成一个包,称为类库。Java 类库中大部分都是由Sun 公司提供的,这些类库称为基础类库。程序员
包是一种概念,用来组织类。咱们能够借助“行政区划”这个概念来帮助理解程序包。一个国家分不少省,省内又分不少市,还能够继续往下细分更多行政单位。这些行政单位界定了一个区域和这片区域上的全部人和物。程序包就至关于行政区划,行政区划里的人和物就至关于程序包里面的类。因此行政区划是一种抽象的概念。包和行政区划同样,都是一个抽象的概念。包里面还能够包含子包。如:com.myJava.utils这样的一个包名,就比如广东省.广州市.天河区。算法
需注意:编程
(1) package 前面还不能有空格。包声明应该在源文件的第一行,每一个源文件只能有一个包声明(即只有一条package声明语句),这个文件中的每一个类型都属于该包。api
(2) 包名的命名规范,通常所有小写,Java要求包要有域名前缀,用来区分不一样的做者,同时是域名的反写,如com.google.guava.guava-parent。字体
(3) 包的命名一般和代码文件的存储位置相关联。如上述Something.java文件的保存路径是 net/java/util/Something.java。由于Something.java文件中声明的包名是net.java.util this
(4) 若是一个源文件中没有使用包声明,那么该类会被编译器认为放在一个默认的没有名称的默认包中。尽管默认包对于短的例子程序很好用,但对于实际的应用程序它是不适当的。多数状况,须要为本身的代码定义一个包。google
使用Java类库(或Java API)的方法是使用import语句,即在 java 源文件中 import语句应位于 package 语句以后,全部类的定义以前,能够没有,也能够有多条。import导入包有两种语法形式:spa
单类型导入(single-type-import), 例如 import java.io.File;.net
按需类型导入(type-import-on-demand),例如 import java.io.*;
对于按需类型导入( import java.io.*; ),有人误解为导入一个包下的全部类,其实否则,看名字就知道,他只会按需导入,也就是说它并不是导入整个包,而仅仅导入当前类须要使用的类。
那么以上两种import程序包的方法是否同样呢?不同!单类型导入和按需类型导入对类文件的定位算法是不同的,具体说明请读者本身查找相关资料了解。
查看JDK的源代码就知道SUN的软件工程师通常不会使用按需类型导入。由于使用单类型导入至少有如下两点好处:
1。提升编译速度。
2。避免命名冲突。(例如:当你import java.awt.*;import java.util.*后,使用List的时候编译器将会出编译错误)
固然,使用单类型导入会使用你的import语句看起来很长。
JAVA类库在线中文文档参考:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
第一步:新建一个小游戏项目,项目名称为MySee。
第二步:网项目中添加一个游戏窗口类,类名称为:DrawSee。在DrawSee.java文件头部,添加如下程序包:
import java.awt.Color;//颜色 import java.awt.Container;//容器 import java.awt.Font;//字体 import java.awt.Graphics;//全部图形上下文的抽象基类,容许应用程序在组件上绘制线条、文字等内容 import java.awt.event.MouseAdapter;//接收鼠标事件的抽象适配器类 import java.awt.event.MouseEvent;//鼠标事件 import javax.swing.JFrame;
以上主要使用到java.awt包和javax.swing包。
java.awt:java.awt是一个软件包,早期编写图形界面应用程序的包。如Color类,Font类。
javax.swing:为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。
第三步:在DrawSee.java文件中,添加窗口配置的代码:
import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; public class DrawSee extends JFrame { // 背景颜色 private Color rectColor = new Color(0xf5f5f5); public DrawSee(){ Container p = getContentPane();//获取窗口的内容面板 setBounds(100, 100, 500, 500);//调用父类setBounds方法,移动窗口到(100,100)位置,并设置窗口大小为宽500,高500 setVisible(true);//调用父类setVisible方法 p.setBackground(rectColor);//调用对象p的setBackground方法,设置窗口背景颜色 setLayout(null); setResizable(false);//调用父类setResizable方法,false表示不容许窗口最大化 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//调用父类setDefaultCloseOperation方法,指定窗口关闭时退出程序。 } }
窗口配置的代码一般放置在初始化方法中,这样在实例化对象时,窗口的一些属性就被指定,随后窗口就会按此设置来显示。
第四步:给项目添加入口方法。在MySee项目中新增长一个类:AppMain类,类代码以下:
public class AppMain { public static void main(String[] args) { // TODO Auto-generated method stub new DrawSee(); } }
第五步:运行程序,便可看到一个空白内容的窗口。