国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java常用類及反射,類加載

2019-11-15 00:12:01
字體:
來源:轉載
供稿:網友
java常用類及反射,類加載1.系統相關類

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為屬性賦值取值


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安康市| 清新县| 哈巴河县| 梁平县| 赤峰市| 丹棱县| 梅河口市| 汶川县| 丰镇市| 罗田县| 基隆市| 东安县| 海盐县| 常山县| 扎鲁特旗| 凤翔县| 安化县| 天长市| 台东市| 光泽县| 泾川县| 福建省| 乐亭县| 和田县| 枣阳市| 九江市| 诸城市| 马尔康县| 白城市| 鄂托克旗| 大连市| 吉林市| 祁阳县| 朝阳县| 仁布县| 安吉县| 凤翔县| 宾川县| 鹰潭市| 宣城市| 三台县|