static
1.类成员必须通过他的类的对象访问,我们可以再其声明前面加上一个static,让他能够被自己使用,而无需引用一个特殊的实例。这个static成员可以再类的任何对象创建之前访问它,而无需引用任何对象。
2.限制:
·仅可以调用其他static方法
·只能访问static数据
·不能以任何方式一弄this或super
3.再该类第一次加载时执行一次。
例子:
class Test(){
static int a = 3;
static int b ;
static void meth(int x){
System.out.println("x = "+x);
System.out.println("a = "+a);
System.out.println("b = "+b);
}
static {
System.out.println("static block initialized.");
b = a * 4;
}
public static void main(String args[]){
meth(42);
}
}
打印为:
static block initialized.
x = 42
a = 3
b = 12
final
变量可以声明为final,这样做的目的是防止被修改,所以必须要初始化它,例如:
final int HHH_NEW = 1;
final int HHH_OLD = 2;
习惯上final的变量都要大写。
一个final变量实际上都是常量。