A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© RockLee 中级黑马   /  2015-7-1 10:54  /  563 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码块分为3中情况。
1,普通代码块
这是平常写代码的时候最常见的,也是我们最熟悉,它通常出现在方法和语句的代码块中。

2,构造代码块
构造代码块,是直接写在类中的代码块。它优于构造方法执行,还有值得提醒的一点是每次对象实例化之前都要运行构造代码块。

3,静态代码块
其实质是用Static关键字修饰的构造代码块,它先于主方法执行,在构造代码块之前运行,且和构造代码块不同,无论实例化多少次对象
都只执行一次。


贴个代码让我们更加有一个清晰的认识
  1. package reviewDemo;
  2. /**
  3. * 测试各代码块的优先级
  4. *        优先级顺序:静态代码块  > 构造代码块 > 普通代码块
  5. *        备注:无论创建几个对象,静态代码块只执行一次!
  6. */

  7. public class Demo13 {
  8.         Demo13(){
  9.                 System.out.println("我是构造方法!");
  10.         }
  11.         {
  12.                 System.out.println("我是构造代码块!");//实例化对象的时候才会去调用!
  13.         }
  14.         static{
  15.                 System.out.println("我是静态代码块!");
  16.         }
  17.        
  18.         public static void main(String[] args) {
  19.                 new Demo13();
  20.                 new Demo13();//再次创建对象,证明无论创建几次对象,静态代码块都只执行一次
  21.                 System.out.println("我是普通代码块!");
  22.         }
  23. }
复制代码

运行的结果是:
我是静态代码块!
我是构造代码块!
我是构造方法!
我是构造代码块!
我是构造方法!
我是普通代码块!

6 个回复

倒序浏览
:lol:):call:
回复 使用道具 举报
收藏了,不错!
回复 使用道具 举报
不错不错,复习一下
回复 使用道具 举报
哈哈:lol
回复 使用道具 举报
哈哈:lol
回复 使用道具 举报
说的很清晰啊,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马