對象生成各函數執行順序

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

相關文章
相關標籤/搜索