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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值