JAVA中的代码块

代码块
Java 中使用“{}”括起来的代码称为代码块 ,根据代码块的定义位置及声明的关键字不同,代码块可以分为以下四种:
       |- 普通代码块
    |- 构造块
    |- 静态块
    |- 同步代码块

1、普通代码块

直接在一个方法中出现的“{}”就称为普通代码块。
public class CodeDemo01
{
       public static void main(String args[])
       {
              // 定义一个普通代码块
              {
                     // 定义一个局部变量
                     int x =10 ;
                     System.out.println(" 普通代码块中的 x = " + x) ;
              }
              int x = 100 ;
              System.out.println(" 代码块之外的 x = " + x ) ;
       }
}

2、构造块

直接在类中定义的代码块称为构造块。
class Demo
{
       // 定义构造快
       {
              System.out.println("************** 构造块 *************") ;
       }
       // 定义构造方法
       public Demo()
       {
              System.out.println("************** 构造方法 *************") ;
       }
}
public class CodeDemo02
{
       public static void main(String args[])
       {
              // 实例化三个对象
              new Demo() ;
              new Demo() ;
              new Demo() ;
       }
}
       可以看出构造块会重复调用多次,构造块会优先于构造方法执行。

3、静态块

使用 static 关键字声明的代码块,称为静态块,静态块的主要目的是用来为静态属性初始化。
class Demo
{
       // 定义构造快
       {
              System.out.println("************** 构造块 *************") ;
       }
       // 定义静态代码块
       static
       {
              System.out.println("************** 类中静态块 *************") ;
       }
       // 定义构造方法
       public Demo()
       {
              System.out.println("************** 构造方法 *************") ;
       }
}
public class CodeDemo03
{
       // 在主类中定义的静态代码块
       static
       {
              System.out.println("************** 主类中的静态块 *************") ;
       }
       public static void main(String args[])
       {
              // 实例化三个对象
              new Demo() ;
              new Demo() ;
              new Demo() ;
       }
}
       静态块优先于主方法执行,静态块优先于构造块执行,而且执行一次。
思考:
       要求在屏幕上打印输出“ Hello World !”,但是不能用主方法。
使用静态块代替主方法,并结束程序:
public class CodeDemo04
{
       static
       {
              System.out.println("Hello World !!!" ) ;
              System.exit(1) ;
       }
}
       在静态块中加入系统退出后,以保证程序不再继续搜索主方法,但是程序知识娱乐使用,本身没有任何意义。

本文出自 “笑问客” 博客,转载请与作者联系!

你可能感兴趣的:(java,职场,休闲,代码块)