static代码块
来源:互联网 发布:迅雷极速版精简优化版 编辑:程序博客网 时间:2024/05/12 17:25
public class StaticTest{public static void main(String[] args){P p1 = new P();P p2 = new P();}}class P{static{System.out.println("static block");}public P(){System.out.println("P constructor");}}
输出为:
static blockP constructorP constructor
一般情况下,如果有些代码必须在项目启动的时候就需要执行,那么就要使用静态代码块,这种代码是主动执行的。静态代码块的任务是完成一些初始化工作。首先执行静态代码块,然后执行构造方法。
静态代码块在类被加载时候执行,而构造方法在生成对象时候执行;要想调用某个类来生成对象,首先需要将类加载到Java虚拟机上,然后由JVM加载这个类来生成对象。类的静态代码块只会执行一次,是在类被加载的时候执行的,因为每个类只会加载一次,所以静态代码块也只会执行一次;而构造方法则不然,每new一个对象的时候都会调用累的构造方法。
在继承体系中,先执行顶层类的静态代码块,然后依次执行到最底层的类的静态代码块,接着执行构造方法。
- Static块(静态代码块)
- Static块(静态代码块)
- Static块(静态代码块)
- static函数、static代码块
- static静态代码块
- static代码块
- static代码块
- static代码块
- 【static】 静态代码块
- static代码块深究
- java static代码块
- java Static 代码块
- static 静态代码块
- static 代码块
- JavaSE------static代码块
- static、初始化代码块
- static{ 代码块 }
- static 静态代码块
- 对于C#基本知识的一点感悟(1)——关于C#语法的抽象
- android之控件自定义(seekBar)
- 自定义视图中使用自定义变量
- Exe4j和Inno setup实现Java桌面应用程序安装部署(三)
- Thread的小基础知识(一)
- static代码块
- as将UNIX时间戳转换成Date
- 腹泻后补充水分
- android界面无标题栏和全屏效果的实现方式
- inputstream,outputstream编码
- SGU 275 To xor or not to xor
- Fragment对比Activity - Android碎片介绍
- Qt串口编程出错问题解决
- android 1.6下使用Loader示例