java学习笔记之——代码块

代码块会在

1、普通代码快

在方法中出现的代码块为普通代码块,例如:

public class CodeBlock{
    public void normal() {
        {
        //普通代码块的执行顺顺序正常 System.out.println(
"我是普通代码块"); } } }

2、构造代码块

在类中定义没有static关键字修饰的{}代码块为构造代码块,例:

public class CodeBlock{
    
    //构造器
    public CodeBlock{
        System.out.println("构造器");
    }
    
    {
         System.out.println("构造代码块");    //在实例化对象时,构造代码块会在构造方法前执行
    }      
    
    public static void main(String[] args) {
        CodeBlock cb = new CodeBlock();
    }
}

输出结果:

构造代码块
构造器

3、静态代码块

静态代码块会在类被加载时自动执行,静态代码块只会执行一次.
一个类中可以定义多个静态代码块,按顺序执行。
静态代码块只能访问类的静态成员。
一般情况下,如果有些代码必须在项目启动(类被加载)的时候就执行要使用静态代码块。

使用static关键字修饰的代码块为静态代码块,静态代码块用来初始化静态属性,例如:

public class StcBlock{

    private static String mes;

    //静态代码块可用来初始化一些项目最常用的变量或对象。
    static {
        mes = "静态代码块";
        System.out.println(mes);
    }

    //构造代码块
    {
         System.out.println("构造代码块");
    }

    //构造器
    public StcBlock() {
        System.out.println("构造器");
    }
}

运行结果:

静态代码块
构造代码块
构造器

由此可以看出,静态块、构造块和构造器的执行数序是 静态块->构造块->构造器

posted @ 2012-10-26 12:05  Ars_blog  阅读(286)  评论(0编辑  收藏  举报