+一般的な反射
インポートをjava.lang.reflect.Field;
パブリッククラスハック<T> {
公共の静的な無効メイン(文字列[]引数)スロー例外{
学生学生=新しい学生()。
新しいハック<学生>()writeRecord(学生)。
}
公共同期ボイドwriteRecord(T tは){例外がスロー
クラスclasszz = t.getClass()を。
フィールド[] fieldArray = classzz.getDeclaredFields()。
(項目f:fieldArray)用{
//获取每个属性名、对应表中的每个字段
f.setAccessible(TRUE)。
試す{
文字列フィールド名= f.getName()。
文字列値= String.valueOf(f.get(T))。
System.out.println(フィールド名+ ":" +値)。
}キャッチ(例外e){
}
}
}
}
クラスの学生{
プライベート文字列名= "張"。
プライベートint型の年齢= 20;
パブリック文字列のgetName(){
名前を返します。
}
公共ボイドのsetName(文字列名){
this.name =名。
}
公共INT getAge(){
戻り年齢;
}
公共ボイドsetAge(int型の年齢){
this.age =年齢。
}
}