java 核心技術(shù)-12版 卷Ⅰ- 4.2 使用預(yù)定義類
????在Java中,沒有類就無(wú)法做任何事情,我們前面接觸過(guò)幾個(gè)類。然而,并不是所有的類表現(xiàn)出面向?qū)ο蟮牡湫吞卣?。以Math 類為例,你已經(jīng)看到,可以直接使用Math類的方法,如Math.random,而不必了解它是具體如何實(shí)現(xiàn)的,你只需要知道方法名和參數(shù)(如果有的話)。這正是封裝的關(guān)鍵所在,當(dāng)然所有類都是這樣。但Math類只封裝了功能,他不需要也不必隱藏?cái)?shù)據(jù)。由于沒有數(shù)據(jù),因此也不必考慮創(chuàng)建對(duì)象和初始化它們的實(shí)例字段,因?yàn)楦緵]有實(shí)例字段。
????下一節(jié)將會(huì)介紹一個(gè)更典型的類 —— java.util.Date 類,從中可以了解如何構(gòu)造對(duì)象,以及如何調(diào)用類的方法。

補(bǔ)充:
????Java的jdk 庫(kù)提供了豐富強(qiáng)大的預(yù)定義類,在自己想實(shí)現(xiàn)某個(gè)功能的時(shí)候,應(yīng)該先去了解,Java中是不是已經(jīng)提供了這樣的預(yù)定義類,有時(shí)候即便沒有這種預(yù)定義類,也有一些能完成部分工作的類,這樣就可以減少我們很多工作。并且,使用預(yù)定義類還更加安全和高效,因?yàn)閖dk 是經(jīng)過(guò)了嚴(yán)格測(cè)試,并且有全世界無(wú)數(shù)java工程師使用過(guò)的,相比于我們自己臨時(shí)想到的方案,其可靠性絕大概率上更加安全。而且,這些預(yù)定義類都是頂級(jí)的Java工程師編寫,效率方面也經(jīng)過(guò)了優(yōu)化,了解熟知預(yù)定義類,是走向高級(jí)Java工程師不可缺少的步驟。甚至于,以后我們?yōu)榱颂岣咦约旱木幊棠芰?,要主?dòng)去讀一些經(jīng)典的jdk 源碼,看看頂級(jí)高手是怎么來(lái)寫代碼的。比如 非常經(jīng)典的HashMap 類,就很值得去讀一讀它的源碼。
前面一直在用的 java.lang.String 類就是一個(gè)最重要的預(yù)定義類。?
注意: java.lang 下的類是可以直接使用,而不必import 的。其他類庫(kù)中的類則需要使用 import 來(lái)引入到類中,才可以使用(或者直接使用包名+類名的全限定名)。
比如,在自己的程序中使用String 可以直接用
String a = "aaa";
如果使用 java.util.Date 類,則需要先import
或者,直接使用全限定名