---------------------- android教育訓練、java教育訓練、期待與您交流!----------------------
Java增強
eclipse ____最廣泛的工具
工程----最進階目錄 包括 資源檔案等 一個工作間包含多個工程
配置環境,運作的版本要與編譯環境版本一緻
import static
導入一個類中的靜态方法
import static java.lang.Math.*
增強for循環
文法 for(type 變量名:集合變量名)
{執行語句}
枚舉 :枚舉就是要讓每個類型的變量的取值隻能為若幹個固定值中的一個,否則編譯會報錯。
枚舉可讓編譯器在編譯時就控制非法值,
枚舉的應用
public enum WeekDay
{
SUN,MON,TUE,WED,THI,FRI;
}
類方法,ValueOf("") 柑橘串變成對應對象
values()把是以的枚舉變成數組
枚舉元素後跟() 指向指定構造方法
反射的基石
Class C大寫 類類型
Class cls1=位元組碼
Class類的各個執行個體對象?
對應各個類在記憶體中的位元組碼
如果得到各個位元組碼對應的執行個體對象
類名.class
class.forName () 對象.getclass()
String s1="abc"
Class c1=s1.getclass()
Class c2=string.class()
Class c3=class.forName("java.lang.string")
傳回的三個位元組碼相同
isprimitive 是否為基本類型
數組類型的class執行個體對象 class.isArry()
反射的定義
就是把java類中各種成分映射成為相對應的java類
Constructor 類 --------構造類
得到所有的構造方法
Constructor [] cst=Class.forName("java.lang.string").getConstructor;
得到某一個
Constructor cst=Class.forName("java.lang.string").getConstructor(StringBuffer.class)
Field-----------對象
例子 :将字元串的所有内容中“b"改為"a"
Field[] fields=obj.getclass().getFilds()
for(Fied field : fields)
{
if(field.getType()==string.class)
{
string old=(string)field.get(obj)
string new=old.replace('b','a')
field.set(obj,new)
}
}
Method類
數組的反射
Arrays.asList(數組對象)
int[]不行 ,
在ArrayList 同樣的元素 會不同的存儲
在Hashset中,同樣的對象元素認為是同一個,把相同的對象通過算法放在同一區域
對象相等,hashcode相等
反射的作用 ——————實作架構的功能
關聯外部檔案,讓程式讀取
類加載器
.class.getclassloader()getResourceAsStream()
.classgetResourceAsStream(name);
内省 JAVA Bean
特殊的java;類
int getAge()
void setAge(int age)
---------------------- android教育訓練、java教育訓練、期待與您交流! ----------------------
詳細請檢視:http://edu.csdn.net/heima