String 字符串類
System 可得到系統(tǒng)信息
StringBuilder 字符串工具類
Thread 線程類
Math 與數(shù)學有關的工具類
ArrayList 底層用數(shù)組實現(xiàn)的集合
LinkedList 底層用鏈表實現(xiàn)的集合
HashMap 接口Map的一個實現(xiàn)類
HashSet 接口Set的一個實現(xiàn)類
Scanner 簡單文本掃描器
Calendar 日期類
Date 日期類
File 目錄或文件操作類
FileInputStream 輸入流
FileOutputStream 輸出流
PrintWriter
BufferedInputStream 具有緩沖的輸入流
BufferedOutputStream 具有緩沖的輸出流
BufferedReader 從字符輸入流中讀取文本,緩沖各個字符,
BufferedWriter 將文本寫入字符輸出流,緩沖各個字符
我們使用關鍵字class來聲明一個類。
通常定義class的形式如下所示:class classname { type instance-varable1; type instance-varable2; //。
type instance-varableN; type metbodname1(parameter-list) { //body of method } type metbodname2(parameter-list) { //body of method } //。
type metbodnameN(parameter-list) { //body of method }} 在一個class中定義的數(shù)據(jù)或叫變量叫做實例變量。代碼包含在方法中。
總體來說,類中定義的方法和變量叫做該類的成員。在大部分類中,實例變量由該類所定義的方法調用和訪問。
因此,這就決定了類中的數(shù)據(jù)如何被使用。所有的方法都在類中聲明,并且通常都具有如下形式: type name(parameter-list) { //body of method } 在這里,type指定了由方法返回的數(shù)據(jù)類型。
它可以是任意有效的類型,包括你創(chuàng)建的類類型。 如果方法沒有返回值,則其返回類型必須是void。
方法的名字由name指定。這個名字可以是除了那些在當前作用域中已經(jīng)使用的標識符之外的任意合法標識符。
parameter-list是類型、標識符對組成的序列,每對之間用逗號分開。參數(shù)實際上是方法被調用時接收傳遞過來的參數(shù)值的變量。
如果方法沒有參數(shù),則參數(shù)表就是空的。除了返回void方法外,那些具有返回類型的方法使用下面的返回語句形式對調用他們的程序返回一個值。
return value;value是返回值。下面是一個簡單的類的例子:class Sameple { int a,b; int sum() { return a+b; }}聲明類的對象 每當創(chuàng)建一個類時,就是在創(chuàng)建一個新的數(shù)據(jù)類型,可以用這個數(shù)據(jù)類型去聲明這種類型的對象。
然而,獲得一個類的對象一般分兩步進行。首先,必須聲明這個類型的一個變量,這個變量并沒有定義對象本身,而僅僅是一個可以指向對象的變量。
第二步,必須獲得這個對象的一個實際的物理拷貝,并將其賦給已聲明的那個變量。使用new運算完成這一步。
new運算符為對象動態(tài)分配(即在程序運行時分配)內存,并為其返回一個引用。 該引用或多或少的是由new分配給對象的內存的地址。
然后該引用被保存在變量中。因此,JAVA中所有類的對象一定是動態(tài)分配的。
下面是一個創(chuàng)建Sample類(前面定義的)對象的例子:Sample ob = new Sample(); 這條語句將剛才提到的兩步合二為一了。 可以重新寫成下面這樣一來,更清楚的表示出2步:Sample ob;ob = new Sample(); 一旦得到一個類對象,就可以使用“。
“運算符訪問其成員。下面是通常的形式:object-name。
member-name 如,給ob的成員a賦值10,使用下面語句:ob。 a = 10;構造函數(shù) 構造函數(shù)在創(chuàng)建對象時立即對其進行初始化。
構造函數(shù)與它所在的類具有相同的名字,在語句構成上與方法類似。然而,構造函數(shù)沒有返回值,甚至也不返回void。
這是因為類的構造函數(shù)隱含的返回類型是類類型本身。初始化對象的內部狀態(tài),以便使代碼創(chuàng)建實例時有一個完全初始化的、可用的對象是構造函數(shù)的任務。
構造函數(shù)可以有參數(shù),這些參數(shù)接收創(chuàng)建對象時傳遞給構造的參數(shù)。典型情況下,包含在構造函數(shù)參數(shù)中的這些值用于初始化對象。
當創(chuàng)建每個對象的時候,傳遞給構造函數(shù)的參數(shù)即被指定。例如,下面是一個加到Sample類中有參數(shù)的構造函數(shù)的例子。
class Sample { int a,b;// constructorSample(int x,int y) { a = x; b = y;}int sum() { return a+b;}。
這個從關鍵字來理解啊,
1. 如果方法定義前面加final,說明你已經(jīng)知道這個方法提供的功能已經(jīng)滿足你要求,不需要進行擴展,并且也不允許任何從此類繼承的類來覆寫這個方法,但是繼承仍然可以繼承這個方法,也就是說可以直接使用。
2. 如果方法定義前面加static,表示靜態(tài)方法,方法和類關聯(lián),直接由類名來調用。
3. 如果方法定義前面加abstract,表示抽象方法,由繼承類來實現(xiàn)。
4. 對于方法前面的public, private,protected等這些是控制方法可以被調用的范圍。
5. 如果方法定義前面有native,Native方法是由另外一種語言(如c/c++,FORTRAN,匯編)實現(xiàn)的本地方法。因為在外部實現(xiàn)了方法,所以在java代碼中,就不需要聲明了,有點類似于借口方法,一般用不著。
6.如果方法定義前面加synchronized,表示當前方法體是一個臨界區(qū),通過鎖機制來控制多個線程同步,在多線程應用里面經(jīng)常使用。
Java程序在運行時,Java運行時系統(tǒng)一直對所有的對象進行所謂的運行時類型標識。
這項信息紀錄了每個對象所屬的類。虛擬機通常使用運行時類型信息選準正確方法去執(zhí)行,用來保存這些類型信息的類是Class類。
Class類封裝一個對象和接口運行時的狀態(tài),當裝載類時,Class類型的對象自動創(chuàng)建。Class沒有公共構造方法。
Class對象是在加載類時由Java虛擬機以及通過調用類加載器中的defineClass方法自動構造的,因此不能顯式地聲明一個Class對象。虛擬機為每種類型管理一個獨一無二的Class對象。
也就是說,每個類(型)都有一個Class對象。運行程序時,Java虛擬機(JVM)首先檢查是否所要加載的類對應的Class對象是否已經(jīng)加載。
如果沒有加載,JVM就會根據(jù)類名查找.class文件,并將其Class對象載入。基本的Java類型(boolean、byte、char、short、int、long、float和double)和關鍵字void也都對應一個Class對象。
每個數(shù)組屬于被映射為Class對象的一個類,所有具有相同元素類型和維數(shù)的數(shù)組都共享該Class對象。一般某個類的Class對象被載入內存,它就用來創(chuàng)建這個類的所有對象。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.398秒