掌握java中的三种代码块的定义及使用




代码块概念

代码块本身并不是一个很难理解的概念,实际上之前也一直在使用。所谓代码块是指使用“{}”括起来的一段代码,根据位置不同,代码块可以分为四种:普通代码块、构造块、静态代码块、同步代码块,其中同步代码块本书将在多线程部分进行讲解,本章先来观察其他三种代码块。

普通代码块


直接定义在方法中的代码块称为普通代码块。

public class CodeDemo01{
 public static void main(String args[]){
  {  // 普通代码块
   int x = 30 ; // 就属于一个局部变量
   System.out.println("普通代码块 --> x = " + x) ;
  }
  int x = 100 ;  // 与局部变量名称相同
  System.out.println("代码块之外 --> x = " + x) ;
 }
};

运行结果:

C:\Documents and Settings\Administrator\桌面\java>java CodeDemo01
普通代码块 --> x = 30
代码块之外 --> x = 100

构造块:


将代码块直接定义在类中,则称为构造代码块。

class Demo{
 { // 直接在类中编写代码块,称为构造块
  System.out.println("1、构造块。") ;
 }
 public Demo(){ // 定义构造方法
  System.out.println("2、构造方法。") ;
 }
};
public class CodeDemo02{
 public static void main(String args[]){
  new Demo() ;  // 实例化对象
  new Demo() ;  // 实例化对象
  new Demo() ;  // 实例化对象
 }
};

运行结果:

C:\Documents and Settings\Administrator\桌面\java>java CodeDemo02
1、构造块。
2、构造方法。
1、构造块。
2、构造方法。
1、构造块。
2、构造方法。

构造块优先于构造方法执行,且执行多次,只要一有实例化对象产生,就执行构造块中的内容。

静态代码块:


直接使用static关键字声明就称为静态代码块.

class Demo{
 { // 直接在类中编写代码块,称为构造块
  System.out.println("1、构造块。") ;
 }
 static{ // 使用static,称为静态代码块
  System.out.println("0、静态代码块") ;
 }
 public Demo(){ // 定义构造方法
  System.out.println("2、构造方法。") ;
 }
};
public class CodeDemo03{
 static{  // 在主方法所在的类中定义静态块
  System.out.println("在主方法所在类中定义的代码块") ;
 }
 public static void main(String args[]){
  new Demo() ;  // 实例化对象
  new Demo() ;  // 实例化对象
  new Demo() ;  // 实例化对象
 }
};

运行结果:

C:\Documents and Settings\Administrator\桌面\java>java CodeDemo03
在主方法所在类中定义的代码块
0、静态代码块
1、构造块。
2、构造方法。
1、构造块。
2、构造方法。
1、构造块。
2、构造方法。

静态块优先于主方法执行,如果在普通类中定义的静态块,优先于构造块执行,不管不多少个实例化对象产生,静态代码块只执行一次,静态代码块的主要功能就是为静态发生初始化。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值