类静态变量和静态代码块的知识点收集

      一些基础知识由于长时间没有接触,感觉淡忘了。建个可以保存在网上的知识收集文章,可以将不同时间零散回顾的一些同类知识类收集到一起。关于类静态变量和静态代码块的知识点收集:

  1. 继承情况下,首先是从顶层父类的静态变量和代码块开始执行,依次向下。同一个类中,执行的顺序是依照静态变量和静态代码在类中的编码顺序执行,变量和代码块无任何优先级之分。全部继承树中的类静态变量和代码块都初始化完毕后,开始从顶层父类执行非静态的类变量和类代码块初始化,执行顺序同静态,然后紧接着是执行构造函数,完毕后才向下,执行子类的类变量、代码块和构造函数。
  2. 非静态内部类中不能定义类静态代码块和非final的类静态变量;静态内部类,可以声明非final的静态变量和静态代码块。
  3. 因为类加载存在2种方式:预加载(pre-loading)和按需加载(load-on-demand),所以类中的静态变量和代码块何时执行也受这2种方式的直接影响,不加载时不可能会被执行。
  4. 隐式(implicit)和显式类加载(explicit):显式加载中的forName(String name, boolean initialize,ClassLoader loader)方法,当initialize=true时,会在执行类加载后立刻运行静态代码和变量。当initialize=false时,类加载后不会立即初始化静态代码和变量,直到第一次new 或者通过反射取值 的时候才会初始化静态代码块和变量。使用loadclass方法加载类时,同initialize=false时的forname。
  5. 未完。。。待续。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值