Java很容易出错的一些问题

来源:互联网 发布:java中的多态 编辑:程序博客网 时间:2024/05/16 04:44

  JAVA在编译过程会对代码进行优化,如果某一行代码永远不可能被执行到,

  这行代码不会被编译到字节码文件中去。

  如下面的例子,flag是一个可以在编译阶段就可以确定的值,

  javac编译的时候不会把System.out.println编译到字节码文件中。

  public class T {

  public final static boolean flag = false;

  public void test(){

  if(flag){

  System.out.println("print this line");

  }

  }

  }

  javap verbose可以看到 test 方法中没有和System.out.println相对应的指令。

  public void test();

  Code:

  Stack=0, Locals=1, Args_size=1

  0: return

  LineNumberTable:

  line 10: 0

0 0