java如何实现调用方送不同的类,内部根据不同的类调用不同的类方法,用什么技术实现?

2025-04-30 07:31:38
推荐回答(1个)
回答1:

if(object instanceof Class1){
    ((Class1)object).excute1();
}else if(object instanceof Class2){ 
    ((Class2)object).excute2();      
}

 或者采用反射(但是不如定义个接口,将实例转换为接口调用好)

String cn = "test.dynamic.ClassB";// -----------要动态加载的类的全路径
Class clazz = myLoader.loadClass(cn);// -----根据类名称来加载
Object object = clazz.newInstance();// ---------创建一个ClassB类的对象
Field f = clazz.getDeclaredField("test");// ----注意这里有Declared
Method m = clazz.getMethod("test");// ----------注意这里没有Declared
f.setAccessible(true);// -----------------------保证私有字段可访问
Object fv = f.get(object);// -------------------获取字段值
Object mv = m.invoke(object);// ----------------执行某方法