【1】类的组成:属性,方法,构造器,代码块,内部类
【2】代码块分类:普通块,构造块,静态块,同步块(多线程)
【3】代码:
public class Test {
//属性
int a;
static int sa;//在类加载时一起加载到全局方法区中的静态域里,先于对象存在
//方法
public void a(){
System.out.println("-----a");
{
//普通块在方法体里面,限制了局部变量的作用范围
System.out.println("这是普通块");
System.out.println("----000000");
int num = 10;
System.out.println(num);
}
//System.out.println(num);
//if(){} 这里的花括号也是普通块
//while(){}
}
public static void b(){
System.out.println("------b");
}
//构造块,一个光杆司令 调用构造方法时先调用构造块
{
System.out.println("------这是构造块");
}
//静态块 类加载时调用
static{
System.out.println("-----这是静态块");
//在静态块中只能方法:静态属性,静态方法
System.out.println(sa);
b();
}
//构造器
public Test(){
System.out.println("这是空构造器");
}
//这是一个main方法,是程序的入口:
public static void main(String[] args) {
Test t = new Test();
t.a();
Test t2 = new Test();
t2.a();
}
}
【4】总结:代码块执行顺序:
最先执行静态块,只在类加载的时候执行一次,所以一般以后实战写项目:创建工厂,数据库的初始化信息都放入静态块。一般用于执行一些全局性的初始化操作。
再执行构造块,(不常用)
再执行构造器,
再执行方法中的普通块。