①当不能在方法中定义的属性(避免多次调用方法而创建很多个不同的属性对象);
②又不能直接定义的,需要使用代码快。
//静态代码块
static{
随着类的加载而自动执行;
可以调用静态的方法属性,不能调用非静态的(还没创建对象);
}
//非静态代码块
{
对象创建而自动执行;
创建对象后,静态非静态方法属性都可以调用;
}
①当不能在方法中定义的属性(避免多次调用方法而创建很多个不同的属性对象);
②又不能直接定义的,需要使用代码快。
//静态代码块
static{
随着类的加载而自动执行;
可以调用静态的方法属性,不能调用非静态的(还没创建对象);
}
//非静态代码块
{
对象创建而自动执行;
创建对象后,静态非静态方法属性都可以调用;
}