猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
什么是初始化块?
什么是初始化块?
我们可以将代码放入构造函数、方法或初始化块中。初始化块的用途是什么?每个java程序都必须拥有它吗?
慕田峪9158850
浏览 898
回答 3
3回答
MMTTMM
首先,有两种类型的初始化块:实例初始化块,和静态初始化块.这段代码应该说明它们的使用以及它们的执行顺序:public class Test { static int staticVariable; int nonStaticVariable; // Static initialization block: // Runs once (when the class is initialized) static { System.out.println("Static initalization."); staticVariable = 5; } // Instance initialization block: // Runs each time you instantiate an object { System.out.println("Instance initialization."); nonStaticVariable = 7; } public Test() { System.out.println("Constructor."); } public static void main(String[] args) { new Test(); new Test(); }}指纹:Static initalization.Instance initialization.Constructor.Instance initialization.Constructor.如果您希望运行某些代码,而不管使用哪个构造函数,或者希望为匿名类进行某些实例初始化,则实例化块非常有用。
0
0
0
墨色风雨
好听的回答,再加几分public class StaticTest extends parent { static { System.out.println("inside satic block"); } StaticTest() { System.out.println("inside constructor of child"); } { System.out.println("inside initialization block"); } public static void main(String[] args) { new StaticTest(); new StaticTest(); System.out.println("inside main"); }}class parent { static { System.out.println("inside parent Static block"); } { System.out.println("inside parent initialisation block"); } parent() { System.out.println("inside parent constructor"); }}这给了inside parent Static block inside satic block inside parent initialisation block inside parent constructor inside initialization block inside constructor of child inside parent initialisation block inside parent constructor inside initialization block inside constructor of child inside main这就像是在说显而易见的话,但似乎更清晰一些。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续