静态与非静态代码块
非静态代码块和静态代码块有什么用?什么时候能够用得到呢?主要是非静态代码。
------解决方案--------------------类中的静态块主要对静态属性初始化,非静态就对非静态属性初始咯,
------解决方案--------------------静态代码块只执行一次,因为静态嘛,属于类的。
非静态代码块在每new一个实例时都执行一次,因为是属于对象的嘛,第一个对象,初始化自己。
执行顺序,
先静态,再非静态,它们都在构造方法执行前执行。
------解决方案--------------------静态代码块用来做初始化 非静态的需要实例化后调用
------解决方案--------------------静态域,是属于类的。非静态域,是属于对象的。
------解决方案--------------------一开始就要初始化时,就用静态代码块
------解决方案--------------------非静态代码 你用的时候 要先new 然后再调用方法
静态代码 你可以直接调用 不用先new
------解决方案--------------------非静态代码块一般不常用,跟放到构造器里面没啥分别,它的执行顺序是在父构造器代码之后,本构造器代码之前
静态代码块用处就比较大了,一般用于初始化一些系统参数之类的,然后其他类可以通过这个类的静态方法来获取这些数据
------解决方案--------------------静态块: 不用new,可以直接调用。 用于初始化一些系统的参数(例如要开启某种服务,就必须要一些参数),然后其他类可以通过这个类的静态方法来获取这些数据。
非静态块: 需要对象实例化,再调用(一般不怎么用非静态块)
其中:静态块只执行一次,而非静态块在执行new后,可以多次调用
代码执行优先级:
静态块 --> 非静态 --> 构造方法
------解决方案--------------------
------解决方案--------------------