Java普通代码块,构造代码块,静态代码块,成员变量的执行顺序的代码实例


Java执行顺利中: (优先级从高到低。)静态代码块 ---》mian方法 ---》构造代码块 ---》 成员变量 ---》构造方法。

 package com.krycai;

import org.junit.Test;

public class JavaTest {
	
	static class A{
		//静态变量引出的静态方法,随类加载
		private static String staticStr =initStaticStr();
		//构造代码块

		{
			System.out.println("构造代码块1");
		}
		//对象成员,实例化后加载
		private String str=initStr();
		//构造函数
		public A(){
			System.out.println("构造函数2");
		}
		private static String initStaticStr(){
			System.out.println("静态代码块4");
			return "initStaticStr";
		}
		private String initStr(){
			System.out.println("成员变量3");
			return "initStr";
		}
	}
	static class B extends A{
		public B(){
			System.out.println("子类构造函数5");
		}
			
	}
	private static void question2(){
		new B();
		System.out.println();
	}

	    public static void main(String[] args) {
	      
	        question2();
	       
	    }
}

输出结果

静态代码块4
构造代码块1
成员变量3
构造函数2
子类构造函数5


文章写的粗糙,指在给自己增加一些理解跟笔记。

详情可以查询:

成员变量与构造函数的执行顺序  http://blog.csdn.net/anlidengshiwei/article/details/43523629

Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

 http://blog.csdn.net/qq_27093465/article/details/75339803




猜你喜欢

转载自blog.csdn.net/baidu_28068985/article/details/78501532