关于Java中的static代码段

来源:互联网 发布:手机淘宝店铺首页链接 编辑:程序博客网 时间:2024/05/19 23:25

类A:

class A
{
 static{
  System.out.print("1");
 }
 
 public A()
 {
  System.out.print("2");
 }
}

类B:

class B extends A
{
 static{
  System.out.print("a");
 }
 
 public B()
 {
  System.out.print("b");
 }
}

类Hello:

public class Hello
{
 public static void main(String[] args)
 {
  A ab = new B();//输出结果1a2b
  ab = new B();//输出结果1a2b2b
 }
}

说明:类中的static代码段,我们可以认为是当类首次被虚拟机加载时执行的代码,加载完成后执行类的构造函数。对于继承而言,首先执行基类的构造函数,在执行本身的构造函数。