我的代码被用作两个大版本的一部分并与外部接口交互。 在其中一个版本中添加了新的API(我需要调用一个新的方法)。JAVA 仅在运行时编译函数
我想阻止保持我的代码两个版本,并使用if语句:
If VersionX
Do Method1()
If VersionY
Do Method2()
假设method2()
是新的功能,我需要调用,是有办法的代码只能在编译运行时(意味着如果我在VersionX
系统上运行,那么编译和异常没有问题,尽管method 2()
在那里不存在)?
您可以通过interfaceClass.class.getMethod(“xxx”,params)检查接口中是否存在该方法,并捕获该异常。或者,您可以调用方法并捕获LinkageError(NoSuchMethodError)(设置一个静态布尔值,不要再调用该方法,具体取决于值) – bestsss 2011-05-29 09:16:52