当前位置:首页 > 开发 > 编程语言 > Java > 正文

java类加载顺序

发表于: 2015-02-06   作者:3213213333332132   来源:转载   浏览:
摘要: package com.demo; /** * @Description 类加载顺序 * @author FuJianyong * 2015-2-6上午11:21:37 */ public class ClassLoaderSequence { String s1 = "成员属性"; static String s2 = "
package com.demo;

/**
 * @Description 类加载顺序
 * @author FuJianyong
 * 2015-2-6上午11:21:37
 */
public class ClassLoaderSequence {
	
	String s1 = "成员属性"; 
	
	static String s2 = "静态属性";
	
	String s3;
	
	static String s4;
	
	static {
		System.out.println("静态代码快");
	}
	
	{
		System.out.println("普通代码快");
	}
	
	public static void test1() {
		System.out.println("静态方法");
	}
	
	public void test2() {
		System.out.println("普通方法");
	}
	
	public static void main(String[] args) {
//		ClassLoaderSequence.test1();
		new ClassLoaderSequence().test2();
	}
}


//运行 ClassLoaderSequence.test1(); 得出结论:类加载会先加载有初始值的静态属性和静态代码快顺序从上至下,最后调用方法。

//运行 new ClassLoaderSequence().test2(); 得出结论:先加载类,new出对象后(构造方法)加载有初始值的属性和代码快(有初始值的静态属性已经加载过所以不会在加载)顺序从上至下,最后调用方法。

//综合结论:
类加载不会加载静态方法、普通方法、普通代码快、没有初始值的属性、有初始值非静态的属性。
类加载会加载静态代码快、有初始值的静态属性,顺序从上至下。

java类加载顺序

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号