简单的用类来表示:数据:父类 Father
子类 Son1 , son2 , son3,.....sonN.
数据载体:
Bean 类用来成装数据
方法 public Father getdata();
变量 String class_name="包名.子类名" 数据结构:
beanList<Bean>需求:
当我调用Bean 的getData方法时 我想通过判断 class_name的值来 强制转换成相应的子类类似于 Son1 son1=(参数--子类名) bean.getData();
也就时说 我想 动态的进行强制转换 请大侠们出手相助.
子类 Son1 , son2 , son3,.....sonN.
数据载体:
Bean 类用来成装数据
方法 public Father getdata();
变量 String class_name="包名.子类名" 数据结构:
beanList<Bean>需求:
当我调用Bean 的getData方法时 我想通过判断 class_name的值来 强制转换成相应的子类类似于 Son1 son1=(参数--子类名) bean.getData();
也就时说 我想 动态的进行强制转换 请大侠们出手相助.
Son1 son1=(Son1) bean.getData();
}else if (){...
只能自己申明对象的类型了,所以能用多态尽量还是不要强制转换了
反射不推荐使用!
if(obj instanceof Son ){
return (Son)obj;
}楼主是否想这样?
项目里要实现一个树由树来触发右边的显示床体
现在的问题是树上的节点种类N多如果都要用if语句来判断的话代码量太庞大了
所以想做一个动态加载的机制大体想法是
在bean里加入两个变量
一个是 子类数据的类名(String)
另一个是 显示该子类的窗体的类名(String)
这样当我点击树节点触发事件时
先根据"显示该子类的窗体的类名(String)" 来生成窗体对象
然后将数据转成相应子类插入到窗体中
在将窗体set到右边的显示窗体中.over
多态不代表if else
你既然抽象到父类的层次, 为什么还要向下转型回来?