API 的全名為 Application Programming Interface ,中文可稱之為應用程式介面,簡單來講 API 就是一個程式庫 (library) ,以 Java 而言就是個類別庫,具有各方面應用的類別 (class)
API 中的類別就是用套件 (package) 組織的,裡頭只有 java.lang 套件的類別可以直接使用,例如我們之前取得隨機數的 Math.random() ,而使用其他的類別都需要先 import ,像是處理時間日期的 Date 類別就在 java.util
001 | import java.util.Date; |
002 | |
003 | public class APIDemo01 { |
004 | public static void main(String[] args) { |
005 | Date d = new Date(); |
006 | System.out.println(d); |
007 | } |
008 | } |
009 | |
010 | /* 檔名: APIDemo01.java |
011 | 作者: Kaiching Chang |
012 | 時間: September, 2014 */ |
此例直接 import Date 類別
001 | import java.util.Date; |
然後在 main() 裡建立一個 Date 物件 (object) ,最後印出這個物件。編譯執行,結果如下
常用的類別放在 java.lang 裡,例如 String 型態 (type) ,以下程式利用字串物件的 replace() 方法 (method) 替換字串中的母音字母
001 | public class APIDemo02 { |
002 | public static void main(String[] args) { |
003 | String s = "There is no spoon."; |
004 | System.out.println(s); |
005 | String s1 = s.replace("a", "e"); |
006 | System.out.println(s1); |
007 | String s2 = s1.replace("e", "i"); |
008 | System.out.println(s2); |
009 | String s3 = s2.replace("i", "o"); |
010 | System.out.println(s3); |
011 | String s4 = s3.replace("o", "u"); |
012 | System.out.println(s4); |
013 | String s5 = s4.replace("u", "a"); |
014 | System.out.println(s5); |
015 | } |
016 | } |
017 | |
018 | /* 檔名: APIDemo02.java |
019 | 作者: Kaiching Chang |
020 | 時間: September, 2014 */ |
編譯後執行,結果如下
API 的應用包括
- 圖形介面
- 網頁
- 輸入及輸出
- 資料結構
- 時間處理
- 資料庫
- 數學計算
- 網路
- 伺服器
有關 Java 7 的 API 文件請參考 Java™ Platform, Standard Edition 7
API Specification , Java 8 的 API 文件請參考 Java™ Platform, Standard Edition 8 API Specification 。
裡頭有各式各樣的應用,如果要好好介紹那會是一本大部頭的書了,我們先把焦點放在跟接下來發展 GUI 有關的部份,也就是 JavaFX 上面。
中英文術語對照
程式庫 | library |
類別 | class |
套件 | package |
物件 | object |
型態 | type |
方法 | method |
重點整理
- API 為 Java 官方提供的程式庫,具有各方面的應用。
- API 中只有 java.lang 套件的類別可以直接使用,其他都需要先 import 。
- 處理時間日期的 Date 類別在 java.util 。
- 字串 String 型態在 java.lang 中。
問題與討論
- 如果不用 import 引入而寫全名,這樣有什麼優點或缺點?
- 除了 Java 官方的 API 外,還有很多第三方開發的程式庫,有哪些知名的呢?
the end
沒有留言:
張貼留言