“JAVABean父类转换为子类”

来源:互联网 发布:mysql数据库服务器配置 编辑:程序博客网 时间:2024/05/16 17:28

在java里面,父类是无法强制转换为子类的,因为子类继承了父类,拥有自己的特有的方法、属性。

举一个形象的例子:老子是不能代替儿子去陪儿媳妇睡觉一样。

但是可以通过一种方式将父类的属性数据转移给子类,就像可以将老子的财产转移给儿子一样。

/** * 将父类的属性赋值给子类 * @param zilei * @param fulei */public static void cv(Object zilei,Object fulei ){Method[] methods=fulei.getClass().getMethods();//得到父类所有方法for(Method method:methods){//遍历父类方法try {if(method.getName().startsWith("get")){//得到父类的get方法Object value=method.invoke(fulei);//通过get方法得到父类的值//尝试得到子类的set方法  method.getReturnType():即得到返回类Method zi_method=zilei.getClass().getMethod(method.getName().replaceFirst("get", "set"), method.getReturnType());zi_method.invoke(zilei, value);//将父类的属性注入到子类里面去}}catch (Exception e) {e.printStackTrace();}}}
注:我只所以通过getMethods得到方法再通过方法去取值,是因为javaBean里面的属性大多都是private标记,getMethods取不到父类私有的属性。



0 0