Java中利用package机制实现条件编译
来源:互联网 发布:建筑节能设计软件 编辑:程序博客网 时间:2024/05/18 03:10
http://www.cnblogs.com/phinecos/archive/2010/03/15/1685965.html
Java中并没有C语言里的“条件编译”特性。这种特性在C语言里是用来解决代码的跨平台问题的,可以通过让代码的不同部分根据其运行的具体平台进行编译。由于Java本身就设计为一种跨平台的语言,因此这种特性就没有存在的必要了。
但是条件编译对于代码的调试来说还是很有用处的。就像我们在C语言中学到的一样,可以通过一些条件编译的开关来使得一些调试代码只在开发过程中使用,而在发布的版本中则不会编译进去。
我们可以利用Java的package来模仿条件编译的概念,从而可以用于java代码的调试开发。
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package com.vista.debugpublic class Assert{ private static void printErr(String msg) { System.err.println(msg); } public final static void isTrue(boolean exp) { if (!exp) printErr("Assertion failed"); } public final static void isFalse(boolean exp) { if (exp) printErr("Assertion failed"); } public final static void isTrue(boolean exp,String msg) { if (!exp) printErr("Assertion failed" + msg); } public final static void isFalse(boolean exp,String msg) { if (!exp) printErr("Assertion failed" + msg); }}
如果想在我们的代码中使用这个断言类进行调试,只需要引入下述package:
import com.vista.debug.*;
当我们准备编译发行版本时就需要清除掉原来引入的断言机制,为此我们只需要在了一个不同的package中创建一个同样名为Assert的类,代码如下:
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package com.vista.releasepublic class Assert{ private static void printErr(String msg){} public final static void isTrue(boolean exp){} public final static void isFalse(boolean exp){} public final static void isTrue(boolean exp,String msg){} public final static void isFalse(boolean exp,String msg){}}
再将前面的import语句修改如下:
import com.vista.release.*;
这样断言机制就从我们的代码中去除掉了。
0 0
- Java中利用package机制实现条件编译
- Java中利用package机制实现条件编译
- Java中利用package机制实现条件编译
- JAVA中实现条件编译
- java实现条件编译
- java中条件编译
- Qt中实现条件编译
- Java如何实现条件编译
- java中带package的文件编译
- 在java中利用动态编译实现eval
- 在java中利用动态编译实现eval
- 在java中利用动态编译实现eval
- Java中利用Interpreter动态编译实现eval
- Linux下利用条件变量实现信号量机制
- java的package机制
- java 中的 package 机制
- java的package机制
- Qt在pro中实现条件编译
- 实现新闻发布系统(一)登陆界面
- magento 判断product 是否 instock
- eclipse clean up 自动格式化代码 如何 避免 对方法顺序 的更改
- What is “Begin Trans”, “Commit Tran”, “Rollback Tran” and "save tran"
- 插入排序
- Java中利用package机制实现条件编译
- 快速平方根算法
- java读取文本文件(每次读一行)
- Java内存模型的抽象
- qt5.3 MIPS 移植
- (转)排序算法的稳定与不稳定
- opencv——创建矩阵并显示
- iOS后台播放音乐
- IOS开发 IOS国际化