Java提供了System類和Runtime類來與程序運行的平臺進行交互
A.System類代表當前Java程序的運行平臺a. System類是一個final類,該類的所有屬性和方法都是靜態的。可以不創建對象直接調用
b.屬性:in 、out 、err
c.常用方法: currentTimeMillis()、exit()、getPRoperties()、 gc()
B. Runtime類代表Java程序的運行時環境
注意: 應用程序不能創建自己的Runtime實例,但是可以通過Runtime類的靜態方法getRuntime()獲取與之關聯的Runtime對象
a. 當前處理器數量:rt.availableProcessors()
b. 空閑內存數:rt.freeMemory()
c. 總內存數:rt.totalMemory()
d. 可用最大內存數:rt.maxMemory()
2.字符串相關類
Java中提供了String、StringBuffer、StringBuilder等類來封裝字符串,這幾個類又提供了大量操作字符串對象的方法
注意: Java中字符串的每一個字符都有一個索引值,索引值從0開始,每個字符串對象都擁有一個length()方法
方法: length()、charAt()、indexOf()、subString()
A. String類
String類包含了一個不可變的字符串。一旦一個String對象被創建,包含在這個對象中的內容就是不可改變的,直至這個對象被銷毀
創建String對象的方式:a. String str = new String(“hello”); b. String str = “hello”;
B. StringBuffer類:允許內容改變
創建StringBuffer對象的方式:
a. StringBuffer str = new StringBuffer(“”);str.append(“world”);
C. StringBuilder類
a. StringBuilder是StringBuffer類的輕量版,StringBuffer所擁有的方法StringBuilder基本都有
b. StringBuilder是線程不安全的,StringBuffer是線程安全的
c. 性能:StringBuilder > StringBuffer > String
3. 日期相關類
Java語言中提供了一系列類共同組成了標準日期時間處理類。其中日期數據類型位于java.util包中,而日期格式化類位于java.text包中
A. SimpleDateFormat類:繼承于DateFormat
將一個時間對象翻譯成自定義格式的字符串,將一個自定義格式的字符串翻譯成時間對象
B. Calendar抽象類與GregorianCalendar類
java.util.GregorianCalendar 是 Calendar 的一個具體子類,提供了世界上大多數國家使用的標準日歷系統,使用 GregorianCalendar 類來獲取時間,而不是使用Date類
注意: 由于SimpleDateFormat類只支持Date類型的對象,所以如果想對GregorianCalendar類的對象進行格式化,必須先掉喲個GregorianCalendar對象的getTime()方法,再對其進行操作
4. 數學運算相關類
A. Math類是一個數學工具類,在Java語言中,常用的數學常數和數學方法都在該類內部,而且無論是常數還是方法都是static類型的,可以直接通過“Math.方法名()”進行調用,方便程序員進行實際的使用
B. Random類做為隨機數生成器
5. 常用包裝類
A. Java語言中分為基本數據類型和引用數據類型。在有些應用中要求不能使用基本數據類型,必須使用引用數據類型
B. Java語言為我們提供了與基本數據類型相對應的包裝類:
byte ---- Byte類
short ---- Short 類
int ---- Integer類
long ---- Long類
float ---- Float類
double---- Double類
boolean-- Boolean類
char ---- Character類
C. 包裝類的共同點:
包裝類中包含的值不可變,都具有:XXXValue() 方法、 valueOf() 方法、都有兩個構造方法
6. 正則表達式:是使用特定的符號來描述該組字符串的一種方法。 即:正則表達式就是一個字符串模板 ,其本身也是一個字符串,使用String的matches( )進行匹配
7. 類的加載機制
A. 類加載的步驟:
a. 類加載:由類加載器完成,類的class文件讀入內存后,就會創建一個java.lang.Class對象。一旦某個類被載入JVM中,同一個類就不會再次被載入
b. 連接:把類的二進制數據合并到JRE中
c. 初始化:JVM負責對類進行初始化,也就是對靜態屬性進行初始化。在Java類中,對靜態屬性指定初始值的方式有兩種:(1)聲明靜態屬性時指定初始值;(2)使用靜態初始化塊為靜態屬性指定初始值。
8. 反射
Java的反射技術是java程序的特征之一,它允許運行中的Java程序對自身進行檢查,或者說“自審”,并能直接操作程序的內部屬性,使用反射可以獲得Java類中各個成員的名稱并顯示出來。簡單的說,反射就是讓你可以通過名稱來得到對象(類,屬性,方法)的技術
A. 反射使用步驟:
a. 獲得類的 java.lang.Class 對象
1). 獲得Class對象的方式:
方式一: Class c = Class.forName(strg);
方式二:Class c = JButton.class; 或者 Class c = Integer.TYPE;
方式三:Class c = 對象名.getClass();
b. 探究類的信息:一個類通常由三部分組成——屬性、普通方法、構造方法
1). Filed類:提供有關類或接口的屬性信息
Filed類常用方法:
Field getField(String name) 獲得指定的公共字段
Field[] getFields() 獲得類的所有公共字段
Field getDeclaredField(String name) 獲得指定的字段
Field[] getDeclaredFields() 獲得類聲明的所有字段
2). Constructor類:提供關于類的單個構造方法的信息以及對它的訪問權限
Constructor類常用方法:
Constructor getConstructor(Class[] params) 獲得使用特殊的參數類型的公共構造函數
Constructor[] getConstructors()獲得類的所有公共構造函數 Constructor getDeclaredConstructor(Class[] params)獲得使用特定參數類型的構造函數(與訪問級別無關)
Constructor[] getDeclaredConstructors()獲得類的所有構造函數(與訪問級別無關)
3). Method類:提供關于類或接口上單獨某個方法(以及如何訪問該方法)的信息
Method類常用方法:
Method getMethod(String name, Class[] params) 使用特定的參數類型,獲得命名的公共方法
Method[] getMethods() 獲得類的所有公共方法
Method getDeclaredMethod(String name, Class[]params)使用特定的參數類型,獲得類聲明的命名的方法
Method[] getDeclaredMethods()獲得類聲明的所有方法
c. 使用反射API來操作這些信息
利用反射技術而進行的常用操作主要有三個:
1).通過Constructor創建對象
2).通過Method執行方法
3).通過Field為屬性賦值取值
新聞熱點
疑難解答