public class reflecttest
}//配置檔案:
classname=cn.itcast.domain.student
methodname=sleep
//定義了屬性,在使用時需要給屬性賦值
【定義了屬性,在使用時需要給屬性賦值
1. 如果定義屬性時,使用default關鍵字給屬性預設初始化值,則使用註解時,可以不進行屬性的賦值。
2. 如果只有乙個屬性需要賦值,並且屬性的名稱是value,則value可以省略,直接定義值即可。
3. 陣列賦值時,值使用{}包裹。如果陣列中只有乙個值,則{}可以省略】
@pro(classname = "cn.itcast.annotation.demo1",methodname = "show")demo1類public class reflecttest
public string methodname()}*/
pro an = reflecttestclass.getannotation(pro.class);
//3.呼叫註解物件中定義的抽象方法,獲取返回值
string classname = an.classname();
string methodname = an.methodname();
system.out.println(classname);
system.out.println(methodname);
//3.載入該類進記憶體
class cls = class.forname(classname);
//4.建立物件
object obj = cls.newinstance();
//5.獲取方法物件
method method = cls.getmethod(methodname);
//6.執行方法
method.invoke(obj);
}}
public class demo01pro自定義註解}
/*** 描述需要執行的類名,和方法名
*/@target()
@retention(retentionpolicy.runtime)
public @inte***ce pro
private static void setproperty(object object,string name,object value) throws nosuchfieldexception, illegalacces***ception, nosuchmethodexception, invocationtargetexception
public static void main(string args) throws exception
學生類這裡就不寫上來了
註解與反射6得到Class類的幾種方式
物件照鏡子後可以看到的資訊 某個類的屬性,方法,和構造器,某個類到底實現了哪些介面。對於每個類而言,jre都為其保留乙個不變的class型別的物件。乙個class物件包含了特定某個結構就有關資訊。public class test class person public void setname s...
angluarJs與後台互動小案例
1 myservice.html myservicectrl ng click hidetip 使用者名稱 text ng model username placeholder 請輸入使用者名稱.上面封裝的服務其實就是眾多controller中與後台檔案互動,得到資料的共同 提取出來單獨封裝在公共服...
防抖與節流小案例
首先,沒有進行防抖與節流處理的滑鼠移動事件 1 var num 1 2var owrap document.getelementbyid wrap 3function count 6 owrap.onmousemove count 上面 中,給div繫結了滑鼠移動事件,當滑鼠在盒子內頻繁移動時,事件...