码迷,mamicode.com
首页 > 其他好文 > 详细

普通代码块、构造块、静态代码块、构造方法浅析

时间:2014-11-07 09:47:11      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   java   sp   代码   bs   new   as   nbsp   

1、普通代码块:直接在一个方法中或语句中出现的{}被称为普通代码块。

   相同类型的代码块执行顺序为,先定义先执行。

2、构造块:直接在类中定义的且没有加static关键字的代码块{}称为构造代码块。

    构造块在创建对象时被执行,每次创建对象都会被执行,且构造块的执行顺序

    优先于类构造函数。

3.静态代码块:在java类中使用static关键字声明的代码块称为静态代码块。静态

  代码块主要用于初始化类,为类的静态属性初始化。有如下特定:

   1)静态代码块不能存在任何方法体内

   2)静态代码块不能直接访问实例变量和实例方法,需通过类的实例对象来访问。

       这与静态方法是一样的

   3)jvm在加载类时,先会执行静态代码块,所以静态代码块优先于主方法执行。

       如果类中包含多个静态代码块,则先定义先执行。每个静态代码块只会执行一次。

4.无论是普通代码块,构造块,还是静态代码块内的语句,都可以定义变量、调用

  其他方法,使用各种循环语句和控制语句等。

//==============下面示例==============

 ====类Code====

class  code{

{                                                     //1.构造块

system.out.println("code的构造块");

}

static {                                           //2.静态构造块

system.out.println("code的静态构造块");

}

public Code(){                               // 3.构造方法

system.out.println("code的构造方法");

}

}

 ====类Codeblock====

public class Codeblock{

{                                                     //1.构造块

system.out.println("Codeblock的构造块");

}

static {                                           //2.静态构造块

System.out.println("Codeblock的静态构造块");

}

public Codeblock(){                               // 3.构造方法

system.out.println("Codeblock的构造方法");

}

public satic void main(String args[]){

System.out.println("Codeblock的主方法");

new Code();

new Code();

new Codeblock();

new Codeblock();

}

}

========运行结果========

Codeblock的静态方法

Codeblock主方法

Code的静态方法

Code的构造块

Code的构造方法

Code的构造块

Code的构造方法

Codeblock的构造块

Codeblock的构造方法

Codeblock的构造块

Codeblock的构造方法

请按任意键继续 . . . .

 

普通代码块、构造块、静态代码块、构造方法浅析

标签:ar   使用   java   sp   代码   bs   new   as   nbsp   

原文地址:http://www.cnblogs.com/xiaowei-blog/p/4080445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!