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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 michael_wlq 于 2015-8-28 10:45 编辑

静态代码块:用于给类进行初始化的。 格式:
static {
             //静态代码块中的执行语句 }
特点:随着类的加载而执行,只执行一次,并优先于主函数, 因为主函数是需要jvm来调用的,同理,也优先于对象执行。
执行优先级:静态代码块>构造代码块>特定构造函数。
  1. class StaticCode {
  2.         int num = 9;

  3.         // 构造函数
  4.         StaticCode() {
  5.                 System.out.println("b");
  6.         }

  7.         // 静态代码块,
  8.         static {
  9.                 System.out.println("a");// 不可以使用this关键字
  10.         }

  11.         // 构造代码块,用来初始化所有对象,优先于生成特定对象的构造函数执行,且其中可以使用this关键字
  12.         {
  13.                 System.out.println("c" + this.num);
  14.         }

  15.         // 带参数的构造函数
  16.         StaticCode(int x) {
  17.                 System.out.println("d");
  18.         }

  19.         public static void show() {
  20.                 System.out.println("show run");
  21.         }
  22. }

  23. class StaticCodeDemo {

  24.         public static void main(String[] args) {
  25.                 new StaticCode(4);

  26.         }
  27. }
复制代码
执行输出结果为:
  1. a
  2. c9
  3. d
复制代码





2 个回复

倒序浏览
又复习了以前的知识点。
回复 使用道具 举报
是啊 ,一起总结回顾下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马