java中代码块的个人理解

代码块

代码块==匿名的方法

静态代码块:static{} 该类第一次使用时自动执行一次

实例代码块:{}每次实例化对象时,在调用构造方法前,自动执行

执行过程

static修饰的成员在jvm第一次使用该类时就会被加载到内存中。

静态部分:类被第一次使用时,先加载静态成员变量的定义,再按照书写顺序由上至下执行;l如静态代码块内的代码和静态成员变量定义时的初始化赋值过程。

实例部分:对象每次被实例化时,先加载实例成员变量的定义,再按照书写顺序由上至下执往/如实例代码块内的代码和实例成员变量定义时的初始化赋值过程。

成员变量与代码块的定义位置关系

如:代码块A中使用成员变量B时

A在B后时,在A内B视为已定义变量,对B可赋值和其他操作;即按照书写顺序由上至下执行。

A在B前时,在A内B视为未定义变量,对B仅可赋值,不可其他操作;因为本质上该变量还未被定义。PS:在书写代码时,避免麻烦,强烈建议先定义再使用

静态/实例--应用场景:

普通业务功能实现时,建议使用实例成员。

成员可多次在多位置被使用,且与调用的对象无关时,可用静态成员。如:工具类中方法Collections.sort(list);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值