对象生成各函数执行顺序

public class gouzao20150530 {
 /**
  * @param args
  */
 public static void main(String[] args) {
  gouzao g = new demogouzao(5);
  g.print();
 }
}
abstract class gouzao {
 {
  System.out.println("父构造块");
 }
 static {
  System.out.println("父静态块");
 }
 public gouzao() {
  
  System.out.println("父构造方法");
  this.print();
 }
 public abstract void print();
}
class demogouzao extends gouzao {
 private int x = 100;
 {
  System.out.println("子构造块  x= "+x);
 }
 static {
  System.out.println("子静态块");
 }
 public demogouzao(int x) {
  this.x = x;
  System.out.println("子构造方法  x= "+x);
 }
 @Override
 public void print() {
  System.out.println( "子print x= "+ x);
 }
}

执行结果:java

相关文章
相关标签/搜索