声明为static的变量实质上相当于C中的全局变量;
2. static方法中只能访问其所在类或其他类的静态成员或静态方法;如果是被访问的是静态成员,可以访问该成员的静态或非静态方法;
3. static方法中的成员可以不被声明成静态,因为其生命周期和该方法一致;
4. static方法不能以任何方式访问this或super;
5. static成员可以用static块来初始化:
static {
System.out.println("Static block initialized.");
b = a * 4;
}
当对静态成员进行引用时,都会先执行static块语句,不管static块和静态成员位于程序代码中顺序如何;
6. 在JDK 1.4中,static成员是可以被其所在class创建的实例访问的,但编译时会提出警告;
7. 当第一次对含静态成员的类进行加载时,会首先初始化其父类的静态成员,再初始化其自己的静态成员;
8. 通常一个类不允许声明为静态的,但内部类却可以。其使用同类的静态成员,不需要对象即可引用;
9. 在类的继承中,动态成员只能被隐藏而不会被覆盖。
|