代码块中的应用(个人笔记)

构造代码块:

 {

 构造代码块的位置:类里方法外
 作用:用于提取构造方法中的共性内容
 执行时机:优先于构造方法执行*/
 subject = "Java培优";
 System.out.println("构造代码块");

}

每次创建对象时,都会执行一次构造代码块和构造方法,并且构造代码块优先于构造方法执行

特点:

  1. 位置: 在类的内部,在方法的外部
  2. 作用: 用于抽取构造方法中的共性代码
  3. 执行时机: 每次调用构造方法前都会调用构造代码块
  4. 注意事项: 构造代码块优先于构造方法加载

总结:

构造方法:与类同名且没有返回值类型的用来创建对象的方法(还可以赋值).                            

构造代码块:类里方法外用来提取构造方法公性功能的代码块                                     

局部代码块:写在方法里用来控制变量范围的代码块

局部代码块:

  1. 位置: 在方法里面的代码块
  2. 作用: 通常用于控制变量的作用范围,出了花括号就失效
  3. 注意事项:变量的作用范围越小越好,成员变量会存在线程安全的问题

演示:

//.定义普通方法

//方法定义:修饰符 返回值类型 方法名(参数列表){方法体...}

public void study() {

//创建局部代码块

局部代码块的位置:方法里

作用:控制变量的作用范围(作用范围越小越好,因为越小越安全)

执行时机:调用本方法时

{

int i = 10;

System.out.println(i);

}

//System.out.println(i);//报错,因为超出i的作用范围

System.out.println("正在备课...");

}

静态代码块:

定义:

静态资源随着类的加载而加载,并且只被加载一次,一般用于项目的初始化

特点: 被static修饰,位置在类里方法外

总结:

代码块之间的执行顺序:

静态代码块-->构造代码块-->构造方法-->局部代码块

为什么是这样的顺序:

静态代码块要优先于对象进行加载,是随着类的加载而加载到内存中的

静态资源只加载一次就会一直存在,直到类的消失,它才会消失

每个元素的作用:

静态代码块:专门用来完成一些需要在第一时间加载并且只加载一次的资源

构造代码块:创建对象时才会触发,用来提取构造方法中的共性内容

构造方法:创建对象时调用,用来创建对象,在构造代码块之后执行

局部代码块:调用其所在方法时才会执行,用于控制变量的作用范围.

思考题:

在继承当中这些顺序是什么样的?它们的执行顺序是什么样的? 

注意:静态优先于普通,父类优先于子类

父类的静态代码块

子类的静态代码块

父类的构造代码块

子类的构造代码块

父类的构造方法

子类的构造方法

父类的普通方法

子类的普通方法

父类的局部代码块

子类的局部代码块

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值