使用static关键字修饰的代码块,称为静态代码块
执行顺序:静态代码块>代码块>构造方法
静态代码块在类加载时执行,且只会执行一次,主要用于初始化静态变量
代码块和构造方法在创建对象时执行
package Jiu;
class MyClass{
static int i = 10;
static {
i = 20;
System.out.println("In Static");
}
public MyClass(){
System.out.println("MyClass()");
}
public MyClass(int i){
System.out.println("MyClass(int)");
this.i = i;
}
}
public class TestReturnRef{
public static void main(String args[]){
MyClass mc1 = new MyClass();
System.out.println(mc1.i);
MyClass mc2 = new MyClass(10);
System.out.println(mc2.i);
}
}
输出:
In Static
MyClass()
20
MyClass(int)
10
静态方法只能访问静态方法和静态变量。
非静态方法可以调用静态方法。
静态方法不能被覆盖。
静态方法能够用类名直接调用。
静态方法不能有this关键字。