C++在java中是否有条件编译?
我们是否有java中此类语句的替代品
#ifdef MacOSX
#import <Cocoa/Cocoa.h>
#else
#import <Foundation/Foundation.h>
#endif
我想根据条件编译我的java类
你可以在下面搜索框中键入要查询的问题!
我们是否有java中此类语句的替代品
#ifdef MacOSX
#import <Cocoa/Cocoa.h>
#else
#import <Foundation/Foundation.h>
#endif
我想根据条件编译我的java类
# 1 楼答案
不需要。一般来说,您需要为
Cocoa
/Foundation
提供的功能使用一个通用的超级接口,然后根据所针对的平台,为该接口提供两个不同的实现类# 2 楼答案
不,Java没有类似的东西。虽然编译器可以去掉保证不执行的代码,但它仍然必须是有效代码。因此,您可以:
。。。你不能有:
您可以通过一个常规的预处理器运行“不完全是Java”代码,以便在以后获得有效的Java,但这在开发时会很痛苦
最好将您感兴趣的功能抽象为接口/抽象类,然后针对不同的平台使用不同的具体实现,在执行时选择正确的实现