/**
* 1.建立成員類,提供get set方法
* 2.建立設定成員屬性類
* 3.建立字串引數解析類
* @author administrator
*///成員
class emp
public void setename(string name)
public string getjob()
public void setjob(string job)
public dept getdept()
public void setdept(dept dept)
@override
public string tostring()
}//部門
class dept
public void setdname(string dname)
public string getloc()
public void setloc(string loc)
public company getcompany()
public void setcompany(company company)
@override
public string tostring()
}//公司
class company
public void setname(string name)
public string getaddress()
public void setaddress(string address)
@override
public string tostring() }/*
* 1、例項化成員類
* 2、設定成員屬性
* 3、獲取成員類
*/class empaction
public emp getemp()
}//字串解析
class beanoperation
public static void setbeanvalue(object actionobject,string msg) throws illegalacces***ception, illegalargumentexception, invocationtargetexception, nosuchmethodexception, securityexception, nosuchfieldexception
objectutils.setobjectvalue(currentobject, fields[i], value);
// emp.dept.company fields[0++] (actionobject = currentobject,fields[0++])}}
}//字串處理
class stringutils
public static string initcap(string str) }/*
* 1、通過反射獲取類中的成員變數並檢查是否存在子類中以便後續的賦值
* 2、通過反射獲取類中的指定方法並呼叫該方法返回被例項化的類的物件
*/class objectutils
// 獲取類屬性
public static object getobject(object wrapobject,string attribute) throws illegalacces***ception, illegalargumentexception, invocationtargetexception, nosuchmethodexception, securityexception, nosuchfieldexception
if(field == null)
method method = wrapobject.getclass().getmethod(methodname); //通過反射獲取指定類中的指定方法
return method.invoke(wrapobject); //呼叫無參方法
}// 設定成員變數
public static void setobjectvalue(object wrapobject,string attribute,string value) throws nosuchfieldexception, securityexception, nosuchmethodexception, illegalacces***ception, illegalargumentexception, invocationtargetexception
if(field == null)
string methodname = "set" + stringutils.initcap(attribute);
method method = wrapobject.getclass().getmethod(methodname,field.gettype()); //method = 方法(引數型別)
method.invoke(wrapobject, value); //呼叫有參方法}}
public class test
}
java反射的簡單應用
反射 在執行過程中,通過類或者物件使用類中的所有方法或屬性。擁有的class檔案。獲取class類的物件。方式1 使用類的getclass 方法。方式2 資料型別的.class靜態屬性。方式3 使用的是class類的forname 靜態方法。類的全路徑。準備 suppresswarnings all...
java反射的簡單使用
前幾天專案中遇到乙個相對有意思的事情,那就是乙個inserthbase的工具類接收乙個物件,然後獲取到物件的每乙個屬性及其值,最後insert到hbase中 如 public class people public string getname public void setname string ...
java反射的簡單應用
1.乙個靜態方法,如果傳遞過來的是物件,則直接呼叫該物件的tostring 方法列印出來,如果是陣列,則把陣列中的每個元素列印出來。如果是物件則直接列印出來,是陣列則挨個列印出來 class arrayreflect printobject intarrays public static void ...