`

编译时常量

    博客分类:
  • j2se
 
阅读更多

编译时常量:在编译源码时能计算出具体数值的常量,

public class PrintWords{
    public static void main(String[] args){
//        System.out.println(Temp.a);        //A处
//        System.out.println(Temp.b);        //B处
//        System.out.println(Temp.c);        //B处
//        System.out.println(Temp.i2);        //B处
//        System.out.println(Temp.b1);        //B处
//        System.out.println(Temp.s1);        //B处
//        System.out.println(Temp.aa);        //B处
        System.out.println(Temp.e);        //B处
    }
}

class Temp{
    static{
        System.out.println("Temp类已被初始化");
    }
    public static final int a=10;
  //编译期可以计算出来a=10,所以a是编译期常量
  public static final int b=((int)(Math.random()*10));
  //编译期不可以计算出b的值,所以b不是编译期常量
  public static final int c=a+1;
  static final int d= "hello world".length();
  public static final Integer i2=1;
  public static final Boolean b1=true;
  public static final String s1="0";
  public static final int i3=s1.length();
  public static final A aa=new A();
  public static final Enum e=E.A;
}
class A{

}
enum E {
    A,B,C,D,E,F,G;
}
//编译时常量只有可能是基本类型和String类型,而不可能是任何的引用类型,包括枚举,包装。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics