從這篇文章開始,會詳細介紹java最常用的幾個開發包和java幾個比較重要的特性。
lang包是java的基礎包,它提供了java的基本類型,你可以這么理解記憶,沒有lang包你就無法用java浪起來。最重要的類是 Object(它是類層次結構的根)和 Class(它的實例表示正在運行的應用程序中的類),并且Class類更是日后講到的反射特性的基礎,關于Class類,我還是建議大家看看Java Platform SE 8中的用法解釋,因為它真的很重要。
我們忽略其他的冗余信息,把注意力集中在包規范中
:
lang.接口
我都是截圖整理的,考慮到東西太多,還有一部分同學不喜歡看英文文檔,也為了自己寫博方便,就一舉兩得了。
接口規定了實現了它的類的需要實例化的方法。它提供了一個框架,你可以針對接口的描述來大致感受一下實現了該接口的子類所具有的功能。比如看見了Readable就猜到類描述中應該有與流的讀寫有關系的類,看見了Runnable就應該想到線程。
lang.類1
lang.類2
我們對類描述進行簡單地講解:
先看java的八大基礎類型:
字符類型char
布爾類型boolean
以及數值類型byte、short、int、long、float、double。
?JAVA中的數值類型不存在無符號的,它們的取值范圍是固定的,不會隨著機器硬件環境或者操作系統的改變而改變。對于數值類型的基本類型的取值范圍,我們無需強制去記憶
,因為它們的值都已經以常量的形式定義在對應的包裝類中了。所以當你需要知道基本類型的信息的時候,比如一個byte類型占幾位啊,能表示的最大值為多少啊,可以使用下面的方式來得到答案。
Byte.SIZE
Byte.MIN_VALUE
Byte.MAX_VALUE
更為詳細的分析,我推薦一篇博文給大家java基本類型,這里面講解的非常透徹仔細,建議從頭到尾認真地看一遍。
對于基本類型,java都有一個與其對應的封裝類,bool有Boolean, int有Integer等等,將基本類型封裝為對象在java中稱為裝箱
,java有自動裝箱與拆箱機制,這些我們后面再說。
此外最后需點明,lang包中另外一些重要的類就是Math、Number、String,System、Thread。
- Math提供了java中所需要的基本數學運算函數。
- Number這個類不常用到,但是里面涉及了大數運算所需要的子類,以及基本類型的包裝類型子類。
- String這個類我就不多說了,重要性可想而知,里面有很多封裝好的操作函數,也是面試中最容易出題的地方。
- System類包含了一些有用的字段和方法,同時跟IO有關和虛擬機的gc也有關系。
- Thread類這里不多講,線程這一塊足夠我們拿出好幾節來說明了。
既然lang包是一個基礎包,所以它里面肯定描述了常見的錯誤與異常,幾乎大部分的異常都在這個包里面有描述,如果需要查看,可以參見java.lang包