设为首页 加入收藏

TOP

Java将父类所有的属性COPY到子类中
2014-11-24 01:43:06 来源: 作者: 【 】 浏览:1
Tags:Java 有的 属性 COPY 子类

Java将父类所有的属性COPY到子类中


public class FatherToChildUtils {
/*
* 将父类所有的属性COPY到子类中。
* 类定义中child一定要extends father;
* 而且child和father一定为严格javabean写法,属性为deleteDate,方法为getDeleteDate
*/
public static void fatherToChild (Object father,Object child){
if(!(child.getClass().getSuperclass()==father.getClass())){
System.err.println("child不是father的子类");
}
Class fatherClass= father.getClass();
Field ff[]= fatherClass.getDeclaredFields();
for(int i=0;i Field f=ff[i];//取出每一个属性,如deleteDate
Class type=f.getType();
try {
Method m = fatherClass.getMethod("get"+upperHeadChar(f.getName()));//方法getDeleteDate
Object obj=m.invoke(father);//取出属性值
f.set(child,obj);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 首字母大写,in:deleteDate,out:DeleteDate
*/
private static String upperHeadChar(String in){
String head=in.substring(0,1);
String out=head.toUpperCase()+in.substring(1,in.length());
return out;
}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux协议栈pf_packet相关分析 下一篇Python 的模拟测试介绍

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: