/**
* 静态代码块:
* static{}
* 在类里方法外,随着类的加载而加载,只加载一次,用于项目的初始化
*
* 构造代码块
* 1.在类里方法外
* 2.优先于构造方法加载
* 3.用于提取构造方法中的共性部分
*
* 局部代码块
* 1.在函数里
* 2.通常用于控制变量的作用范围,出了()失效
* 3.变量的范围越小越好,成员变量会有线程问题
* 4.执行顺序:按序执行
*
* 总结:
* 三者之间的关系:静态--构造代码块--构造方法--局部(执行顺序)
*/
public class 构造代码块和局部代码块 {
static class student{
String student;
{ //构造代码块
student ="常熟第一人民医院";
System.out.println(student);
}
public void function1(){
//局部代码块
{
System.out.println("局部代码块1");
}
{
System.out.println("局部代码块2");
}
}
}
public static void main(String[] args) {
student S = new student();
S.function1();
}
}
public class test_static {
public static void main(String[] args) {
hospital h =new hospital();
h.function1();
}
static class hospital{
{ // --构造代码块
System.out.println("是");
}
static { // --静态代码块
System.out.println("我");
}
public void function1(){ //局部代码块
System.out.println("方法1");
}
}