欢迎来到天天文库
浏览记录
ID:51690559
大小:36.95 KB
页数:2页
时间:2020-03-15
《java静态代码块与非静态代码块.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、测试函数:publicclassTestStaticCon{publicstaticinta=0;static{a=10;System.out.println("父类的非静态代码块在执行a="+a);}{a=8;System.out.println("父类的非静态代码块在执行a="+a);}publicTestStaticCon(){this("a在父类带参构造方法中的值:"+TestStaticCon.a);//调用另外一个构造方法System.out.println(a);System.out.println("父类无参构造方法在执行a="+a
2、);}publicTestStaticCon(Stringn){System.out.println(n);System.out.println(a);}publicstaticvoidmain(String[]args){TestStaticContsc=null;System.out.println("!!!!!!!!!!!!!!!!!!!!!");tsc=newTestStaticCon();}}运行结果:父类的非静态代码块在执行a=10!!!!!!!!!!!!!!!!!!!!!父类的非静态代码块在执行a=8a在父类带参构造方法中的值:108
3、8父类无参构造方法在执行a=8结论:静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块。且执行顺序为静态代码块------非静态代码块----构造函数。扩展:静态代码块与静态方法:一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的.两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.作用:静态代码块可用来初始化
4、一些项目最常用的变量或对象;静态方法可用作不创建对象也可能需要执行的代码.
此文档下载收益归作者所有