用import改变行为之条件编译

来源:互联网 发布:8051 单片机内部实现 编辑:程序博客网 时间:2024/05/18 04:49
                  **用import改变行为**Java没有C的条件编译功能,该功能可以使你不必更改任何程序代码,就能够切换开关并产生不同的行为。Java去掉此功能可能是因为C在绝大数情况下是用此功能来解决跨平台的问题的,即程序代码的不同部分是根据不同的平台来编译的。由于Java本身可以自动跨越不同的平台,因此这个功能对Java而言就没有必要了。然而,条件编译还有其他一些有价值的用途。调试就是一个很常见的用途。调试功能在开发过程中是开启的,而在发布的产品中是禁用的。可以通过修改被导入的package的方法来实现这一目的,修改的方法是**将你程序中的代码从调试版改为发布版**。这样的技术适用于任何种类的条件代码。例子:创建两个包:debug和debugoff,它们都包含一个相同的类,该类有一个debug()方法。第一个版本显示发给控制台的String参数,而第二个版本什么也不做。使用静态import语句将该类导入到一个测试程序中,并示范条件编译效果!
 package access.debug;//:access/debug/Debug.java/* * 该类有一个方法debug() * 此版本显示发送给控制台的String参数 */public class Debug {    public static void debug(String s){        System.out.println(s);    }}///:~   
package access.debugoff;//:access/debugoff/Debug.java/* * 该类也有一个方法debug() * 此版本什么也不做 */public class Debug {    public static void debug(){    }}///:~
package access.testdebug;//:access/testdebug/testdebug.javaimport static  access.debug.Debug.*;import static access.debugoff.Debug.*;public class testdebug {    public static void main(String[] args) {        // TODO Auto-generated method stub        debug("aaaa");        debug();    }}///:~/* * 条件编译的知识 */
0 0
原创粉丝点击