天天看點

JAVA初始化過程

java初始化過程和代碼先後順序沒有關系,執行順序依次為:

靜态成員變量;

靜态域;

成員變量;

構造方法;

注:有基類,先執行基類,後執行子類。

package com.init.order;

public class Fruit {

public Fruit(){

System.out.println("Fruit init function");

}

public  int apple_2 = intPrintln(2);

public static int apple_1 = intPrintln(1);

static{

System.out.println("static area");

static int intPrintln(int i){

System.out.println(i);

return 100;

public class Apple extends Fruit{

public Apple(){

System.out.println("apple init function");

static int apple = intPrintln(20);

public class TestMain {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

new Apple();

執行結果:

1

static area

20

2

Fruit init function

apple init function