Java 如何利用某软件API函数:<T extends Class_P> createP(Class<T> clazz)来创建不同类型子对象
答案:2 悬赏:80 手机版
解决时间 2021-11-22 02:43
- 提问者网友:树红树绿
- 2021-11-21 04:03
Java 如何利用某软件API函数:<T extends Class_P> createP(Class<T> clazz)来创建不同类型子对象
最佳答案
- 五星知识达人网友:忘川信使
- 2021-11-21 05:05
你要去看下 工厂模式,你这种情况是factory design pattern的用途。你需要传入一个参数来确定哪个子类你需要创建。
全部回答
- 1楼网友:鱼忧
- 2021-11-21 05:20
不是不行,你自己也说了,对方更新,自己的代码就要重写了。追问主要就是想省事(好几处API都是给出类似的方法,要else if 几百次才能写完),另外就是对方代码更新时我不用更新。Collection All_11是通过另外的API函数可以获得的,里面包括了所有子类。
有没有方法通过for(Object o:All_11) 中的o,获得 Class_P子类的.class???追答for(Object o:All_11){
if(o instanceof Class_A)
Class_A a=createP(Class_A.class);
else if (o instanceof Class_B)
Class_B b = createP(Class_B.class);
……
}
如果createP的参数不变,这样是可以的
有没有方法通过for(Object o:All_11) 中的o,获得 Class_P子类的.class???追答for(Object o:All_11){
if(o instanceof Class_A)
Class_A a=createP(Class_A.class);
else if (o instanceof Class_B)
Class_B b = createP(Class_B.class);
……
}
如果createP的参数不变,这样是可以的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯