欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中初始化块详解及实例代码

程序员文章站 2024-03-03 19:16:58
java中初始化块详解 在java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想...

java中初始化块详解

在java中,有两种初始化块:静态初始化块和非静态初始化块.

静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员.

非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量.

非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行.

括号里的是初始化块,这里面的代码在创建java对象时执行,而且在构造器之前执行!

其实初始化块就是构造器的补充,初始化块是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块了初始化!!

好处是可以提高初始化块的复用,提高整个应用的可维护性。--《疯狂java讲义》

package com.tiandinet.studyjava; 
  
 public class testinitiateblock { 
  
 { 
 system.out.println("in non-static initialization block!"); 
 }; 
  
 static { 
 system.out.println("in static initialization block!"); 
 }; 
  
 public testinitiateblock() { 
 system.out.println("in constructor1!"); 
 } 
  
 public void show() { 
 system.out.println("in show()!"); 
 } 
  
 /** 
 * @param args 
 */ 
 public static void main(string[] args) { 
 testinitiateblock ti = new testinitiateblock(); 
 ti.show(); 
 } 
  
 } 

运行结果:

in static initialization block!
in non-static initialization block!
in constructor1!
in show()!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!