在java中有类似#ifdef的方法吗?

时间:2015-01-02 20:53:42

标签: java

java中有什么东西可以让我根据值停止编译成程序吗?类似的东西:

#ifdef CLIENT
public void drawToScreen() {

}
#endif

#ifdef SERVER
public void sendPacketToClient() {

}
#endif

如果你有两个版本的程序,一个客户端和一个服务器,你怎么能这样做?还有办法用课吗?

1 个答案:

答案 0 :(得分:0)

不是很容易。所有其他评论都说这是不可能的,但实际上 可能

如果您真的想要,可以使用bytecode manipulation library。正如JavaAssist网站所说:

  

Javassist(Java Programming Assistant)使Java字节码操作变得简单。它是一个用Java编辑字节码的类库;它使Java程序能够在运行时定义新类,并在JVM加载时修改类文件。

但最重要的问题是重点是什么?这真是太多的工作而且不是很有用。