在編寫程序的時候,一般有不少功能是通用的,或者是很基礎的,能夠用這些功能來組成更發雜的功能代碼。好比文件操做,不一樣程序對文件的操做基本都是同樣的,打開文件,關閉文件,讀取文件裏面的數據,往文件中寫數據等等。所不一樣的僅僅是文件路徑不相同,文件內容不一樣。若是把文件相關的操做編寫成一個通用的類,無論哪一個程序員均可以直接使用,而沒必要本身從新編寫一遍操做文件的全部代碼,那麼程序員的工做效率就會大大提升。像這樣把一些具備通用的功能編寫成相應的類代碼,就造成了類庫。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(); } }
第五步:運行程序,便可看到一個空白內容的窗口。