1.代码块的作用:用来初始化类、对象
2.如果有修饰,只能使用static来修饰
3.分类:静态代码块 vs 非静态代码块
4.静态代码块
内部可以有输出语句
随着类的加载而执行,而且只执行一次
作用:初始化类的信息
静态代码块的执行优先于非静态代码块的执行
静态代码块内只能调用静态的属性、静态的方法
5.非静态代码块
内部可以有输出语句
随着类的创建而执行,每创建一个对象就执行一次非静态代码块
作用:可以在创建对象是,对对象的属性等进行初始化
public class BlockTest {
public static void main(String[] args) {
String desc=Person.desc;
Person person=new Person();
Person person1=new Person();
}
}
class Person{
//属性
private int age;
private String name;
static String desc="我是一个人";
//构造器
public Person() {
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
//静态代码块
static {
System.out.println("我是静态代码块,随着类的加载而执行");
}
//非静态代码块
{
System.out.println("我是非静态代码块,随着类的创建而执行");
}
//方法
public void eat()
{
System.out.println("吃");
}
@Override
public String toString() {
return "person{" +
"age=" + age +
", name=‘" + name + ‘‘‘ +
‘}‘;
}
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 »
Java类的成员-代码块