我猜楼主的意思应该是
X x = null;
if(need XY){
x = new XY();
}else{
x = new XZ();
}
x.method();这是可以的,条件是XY和XZ必须实现(当X是接口)或继承X(当X是类).
X x = null;
if(need XY){
x = new XY();
}else{
x = new XZ();
}
x.method();这是可以的,条件是XY和XZ必须实现(当X是接口)或继承X(当X是类).
解决方案 »
- JAVA关于窗口和按钮的多次反复添加实现
- 急!JAVA连ORACLE报错!谢谢!
- 问个关于代理的问题
- wati,notify,notifyAll为什么要在同步的情况下调用?
- 关于session存储对象的类型转换问题,在线等待
- 高手来帮一下,我想这样做!
- 布局管理器 相关问题???
- 一个处理查询的问题
- 小弟初学java,请问各位大虾,看jdk文档有什么技巧没有?那种HTML风格真是叫人*(&*(&^*&^%巨不爽 :(
- 这道看似简单的jave面试题,80%的人都会错
- java.sql.Date和java.uitl.Date的问题?
- jboss-3.0.1_tomcat-4.0.4的默认WEB目录在哪儿?
比如一个类 A 中有方法 test( String str );
Class cl = Class.forName( "A" );
Method method = cl.getMethod( "test", String.class );
method.invoke( null, "hehe" );
Method method = cl.getMethod( "test", new Class{ String.class } );
如下:
Object a = Class.forName("YOUR CLASS NAME").newInstance() ;
这样你就得到了Your class的具体实例a。我们的项目中就这样用过,在数据库中存类名,实际运用中根据需要动态获得具体的实例。不过我们的这些对象都是实现统一的接口,这样把Object换成接口名,才能调用到具体的方法否则你还得强制类型转换才能使用到你自己的类中的方法。