JavaAPI的使用方法詳解
什么是Java類庫(kù)
在編寫程序的時(shí)候,通常有很多功能是通用的,或者是很基礎(chǔ)的,可以用這些功能來組成更發(fā)雜的功能代碼。比如文件操作,不同程序?qū)ξ募牟僮骰径际且粯拥模蜷_文件,關(guān)閉文件,讀取文件里面的數(shù)據(jù),往文件中寫數(shù)據(jù)等等。所不同的僅僅是文件路徑不相同,文件內(nèi)容不同。如果把文件相關(guān)的操作編寫成一個(gè)通用的類,不管哪個(gè)程序員都可以直接使用,而不必自己重新編寫一遍操作文件的所有代碼,那么程序員的工作效率就會(huì)大大提高。像這樣把一些具有通用的功能編寫成相應(yīng)的類代碼,就形成了類庫(kù)。
Java 的類庫(kù)是 Java 語(yǔ)言提供的已經(jīng)實(shí)現(xiàn)的標(biāo)準(zhǔn)類的集合,是 Java 編程的 API(Application Program Interface),它可以幫助開發(fā)者方便、快捷地開發(fā) Java 程序。程序員在開發(fā)程序的時(shí)候,直接調(diào)用這些現(xiàn)成的類就可以了。這些類根據(jù)實(shí)現(xiàn)的功能不同,可以劃分為不同的集合,每個(gè)集合組成一個(gè)包,稱為類庫(kù)。Java 類庫(kù)中大部分都是由Sun 公司提供的,這些類庫(kù)稱為基礎(chǔ)類庫(kù)。
什么是程序包
包是一種概念,用來組織類。我們可以借助“行政區(qū)劃”這個(gè)概念來幫助理解程序包。一個(gè)國(guó)家分很多省,省內(nèi)又分很多市,還可以繼續(xù)往下細(xì)分更多行政單位。這些行政單位界定了一個(gè)區(qū)域和這片區(qū)域上的所有人和物。程序包就相當(dāng)于行政區(qū)劃,行政區(qū)劃里的人和物就相當(dāng)于程序包里面的類。所以行政區(qū)劃是一種抽象的概念。包和行政區(qū)劃一樣,都是一個(gè)抽象的概念。包里面還可以包含子包。如:com.myJava.utils這樣的一個(gè)包名,就好比廣東省.廣州市.天河區(qū)。
需注意:
(1) package 前面還不能有空格。包聲明應(yīng)該在源文件的第一行,每個(gè)源文件只能有一個(gè)包聲明(即只有一條package聲明語(yǔ)句),這個(gè)文件中的每個(gè)類型都屬于該包。
(2) 包名的命名規(guī)范,一般全部小寫,Java要求包要有域名前綴,用來區(qū)分不同的作者,同時(shí)是域名的反寫,如com.google.guava.guava-parent。
(3) 包的命名通常和代碼文件的存儲(chǔ)位置相關(guān)聯(lián)。如上述Something.java文件的保存路徑是 net/java/util/Something.java。因?yàn)镾omething.java文件中聲明的包名是net.java.util
(4) 如果一個(gè)源文件中沒有使用包聲明,那么該類會(huì)被編譯器認(rèn)為放在一個(gè)默認(rèn)的沒有名稱的默認(rèn)包中。盡管默認(rèn)包對(duì)于短的例子程序很好用,但對(duì)于實(shí)際的應(yīng)用程序它是不適當(dāng)?shù)摹6鄶?shù)情況,需要為自己的代碼定義一個(gè)包。
使用Java類庫(kù)
使用Java類庫(kù)(或Java API)的方法是使用import語(yǔ)句,即在 java 源文件中 import語(yǔ)句應(yīng)位于 package 語(yǔ)句之后,所有類的定義之前,可以沒有,也可以有多條。import導(dǎo)入包有兩種語(yǔ)法形式:
單類型導(dǎo)入(single-type-import), 例如 import java.io.File;
按需類型導(dǎo)入(type-import-on-demand),例如 import java.io.*;
對(duì)于按需類型導(dǎo)入( import java.io.*; ),有人誤解為導(dǎo)入一個(gè)包下的所有類,其實(shí)不然,看名字就知道,他只會(huì)按需導(dǎo)入,也就是說它并非導(dǎo)入整個(gè)包,而僅僅導(dǎo)入當(dāng)前類需要使用的類。
那么以上兩種import程序包的方法是否一樣呢?不一樣!單類型導(dǎo)入和按需類型導(dǎo)入對(duì)類文件的定位算法是不一樣的,具體說明請(qǐng)讀者自己查找相關(guān)資料了解。
查看JDK的源代碼就知道SUN的軟件工程師一般不會(huì)使用按需類型導(dǎo)入。因?yàn)槭褂脝晤愋蛯?dǎo)入至少有以下兩點(diǎn)好處:
1。提高編譯速度。
2。避免命名沖突。(例如:當(dāng)你import java.awt.*;import java.util.*后,使用List的時(shí)候編譯器將會(huì)出編譯錯(cuò)誤)
當(dāng)然,使用單類型導(dǎo)入會(huì)使用你的import語(yǔ)句看起來很長(zhǎng)。
JAVA類庫(kù)在線中文文檔參考:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
實(shí)踐訓(xùn)練
第一步:新建一個(gè)小游戲項(xiàng)目,項(xiàng)目名稱為MySee。
第二步:網(wǎng)項(xiàng)目中添加一個(gè)游戲窗口類,類名稱為:DrawSee。在DrawSee.java文件頭部,添加以下程序包:
import java.awt.Color;//顏色 import java.awt.Container;//容器 import java.awt.Font;//字體 import java.awt.Graphics;//所有圖形上下文的抽象基類,允許應(yīng)用程序在組件上繪制線條、文字等內(nèi)容 import java.awt.event.MouseAdapter;//接收鼠標(biāo)事件的抽象適配器類 import java.awt.event.MouseEvent;//鼠標(biāo)事件 import javax.swing.JFrame;
以上主要使用到j(luò)ava.awt包和javax.swing包。
java.awt:java.awt是一個(gè)軟件包,早期編寫圖形界面應(yīng)用程序的包。如Color類,F(xiàn)ont類。
javax.swing:為解決 AWT 存在的問題而新開發(fā)的圖形界面包。Swing是對(duì)AWT的改良和擴(kuò)展。
第三步:在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();//獲取窗口的內(nèi)容面板 setBounds(100, 100, 500, 500);//調(diào)用父類setBounds方法,移動(dòng)窗口到(100,100)位置,并設(shè)置窗口大小為寬500,高500 setVisible(true);//調(diào)用父類setVisible方法 p.setBackground(rectColor);//調(diào)用對(duì)象p的setBackground方法,設(shè)置窗口背景顏色 setLayout(null); setResizable(false);//調(diào)用父類setResizable方法,false表示不允許窗口最大化 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//調(diào)用父類setDefaultCloseOperation方法,指定窗口關(guān)閉時(shí)退出程序。 } }
窗口配置的代碼通常放置在初始化方法中,這樣在實(shí)例化對(duì)象時(shí),窗口的一些屬性就被指定,隨后窗口就會(huì)按此設(shè)置來顯示。
第四步:給項(xiàng)目添加入口方法。在MySee項(xiàng)目中新增加一個(gè)類:AppMain類,類代碼如下:
public class AppMain { public static void main(String[] args) { // TODO Auto-generated method stub new DrawSee(); } }
第五步:運(yùn)行程序,即可看到一個(gè)空白內(nèi)容的窗口。
總結(jié)
以上就是本文關(guān)于JavaAPI的使用方法詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助,感興趣的朋友可以繼續(xù)參閱本站:Java實(shí)現(xiàn)生產(chǎn)者消費(fèi)者問題與讀者寫者問題詳解、java集合中的list詳解、java并發(fā)學(xué)習(xí)之BlockingQueue實(shí)現(xiàn)生產(chǎn)者消費(fèi)者詳解等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Java實(shí)現(xiàn)任務(wù)超時(shí)處理方法
任務(wù)超時(shí)處理是比較常見的需求,Java中對(duì)超時(shí)任務(wù)的處理有兩種方式,在文中給大家詳細(xì)介紹,本文重點(diǎn)給大家介紹Java實(shí)現(xiàn)任務(wù)超時(shí)處理方法,需要的朋友可以參考下2019-06-06基于idea 的 Java中的get/set方法之優(yōu)雅的寫法
這篇文章主要介紹了基于idea 的 Java中的get/set方法之優(yōu)雅的寫法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01詳解Java的Spring框架下bean的自動(dòng)裝載方式
這篇文章主要介紹了Java的Spring框架下bean的自動(dòng)裝載方式,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12Java Swing null絕對(duì)布局的實(shí)現(xiàn)示例
這篇文章主要介紹了Java Swing null絕對(duì)布局的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12解析Tomcat 6、7在EL表達(dá)式解析時(shí)存在的一個(gè)Bug
這篇文章主要是對(duì)Tomcat 6、7在EL表達(dá)式解析時(shí)存在的一個(gè)Bug進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12Java中調(diào)用DLL動(dòng)態(tài)庫(kù)的操作方法
在Java編程中,有時(shí)我們需要調(diào)用本地代碼庫(kù),特別是Windows平臺(tái)上的DLL(動(dòng)態(tài)鏈接庫(kù)),本文中,我們將詳細(xì)討論如何在Java中加載和調(diào)用DLL動(dòng)態(tài)庫(kù),并通過具體示例來展示這個(gè)過程,感興趣的朋友跟隨小編一起看看吧2024-03-03