package note;
public class Person {
String name;
static int age;
public Person() {
this.name="张三";
System.out.println("构造方法");
}
// 非静态代码块
{
System.out.println("非静态代码块1");
}
{
System.out.println("非静态代码块2");
}
// 静态代码块 只能使用静态属性和方法
static {
age=1;
System.out.println("静态代码块");
}
public static void showAge() {
System.out.println(age);
}
//在new Person时,执行顺序为 :
// 1、类的属性的默认初始化和显示初始化
// 2、执行静态代码块,若new多个对象,静态代码块只被执行一次
//2、 执行非静态代码块,如有多个代码块,按照程序顺序从上到下执行
//3、执行构造方法
//new对象时静态代码块和非静态代码块区别: 非静态代码块每次new对象都会执行,静态代码块只执行一次
//在实际开发中,静态代码块用的会多一些,用在初始化类的静态属性(static类型属性)
}
java静态代码块和非静态代码块
最新推荐文章于 2024-05-23 17:56:42 发布