Java中的初始化块

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

静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员.
非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量.

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

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

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

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

 
1 package com.tiandinet.studyjava;  
2   
3 public class TestInitiateBlock {  
4   
5 {  
6 System.out.println("In non-static initialization block!");  
7 };  
8   
9 static {  
10 System.out.println("In static initialization block!");  
11 };  
12   
13 public TestInitiateBlock() {  
14 System.out.println("In Constructor1!");  
15 }  
16   
17 public void show() {  
18 System.out.println("In show()!");  
19 }  
20   
21 /** 
22 * @param args 
23 */  
24 public static void main(String[] args) {  
25 TestInitiateBlock ti = new TestInitiateBlock();  
26 ti.show();  
27 }  
28   
29 } 

运行结果:
In static initialization block!
In non-static initialization block!
In Constructor1!

In show()!


转载地址:http://blog.csdn.net/queenjade/article/details/6933980

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值