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 語言提供的已經(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聲明語句),這個(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ù)?。多?shù)情況,需要為自己的代碼定義一個(gè)包。
使用Java類庫(kù)
使用Java類庫(kù)(或Java API)的方法是使用import語句,即在 java 源文件中 import語句應(yīng)位于 package 語句之后,所有類的定義之前,可以沒有,也可以有多條。import導(dǎo)入包有兩種語法形式:
單類型導(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語句看起來很長(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)文章
SpringCloud中的openFeign調(diào)用服務(wù)并傳參的過程
服務(wù)和服務(wù)之間通信,不僅僅是調(diào)用,往往在調(diào)用過程中還伴隨著參數(shù)傳遞,接下來重點(diǎn)來看看OpenFeign在調(diào)用服務(wù)時(shí)如何傳遞參數(shù),感興趣的朋友一起看看吧2023-11-11
MybatisPlus 連表查詢、邏輯刪除功能實(shí)現(xiàn)(多租戶)
這篇文章主要介紹了MybatisPlus 連表查詢、邏輯刪除功能實(shí)現(xiàn)(多租戶),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-12-12
Java?Web實(shí)戰(zhàn)之使用三層架構(gòu)與Servlet構(gòu)建登錄注冊(cè)模塊
這篇文章介紹了如何使用三層架構(gòu)(View,?Service,?DAO)和JDBCTemplate技術(shù)在JavaWeb環(huán)境下實(shí)現(xiàn)登錄和注冊(cè)功能,詳細(xì)說明了構(gòu)建項(xiàng)目的步驟,包括創(chuàng)建數(shù)據(jù)庫(kù)表、實(shí)體類、DAO層、Service層、Servlet處理及頁(yè)面設(shè)計(jì),需要的朋友可以參考下2024-10-10
SpringAOP實(shí)現(xiàn)日志收集管理功能(步驟詳解)
這篇文章主要介紹了SpringAOP實(shí)現(xiàn)日志收集管理功能,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
springcloud + mybatis + seate集成示例
本文主要介紹了springcloud + mybatis + seate集成示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06

