package com.test01; public class CodeBlock { public CodeBlock(){ System.out.println("这是空构造器"); } public CodeBlock(int p){ System.out.println(p); } public void ordinary(){ { System.out.println("这是普通块"); } } public static void bas(){ System.out.println("这是静态方法"); } { System.out.println("这是构造块"); } static{ System.out.println("这是静态块"); } //这是一个main方法,是程序的入口: public static void main(String[] args) { CodeBlock c1 = new CodeBlock(); CodeBlock c2 = new CodeBlock(); c1.ordinary(); c2.ordinary(); c2.bas(); CodeBlock c3 = new CodeBlock(); c3.ordinary(); } /*输出: 这是静态块--》类在方法区加载的时候静态方法、静态属性和静态块都会一次性加载完毕 这是构造块--》每创建一个该类的对象时,在执行到空构造器之前会加载一次(只需创建,无需调用便会执行) 这是空构造器--》每创建一个该类的对象时,在对象创建前会先调用空构造器 这是构造块 这是空构造器 这是普通块--》普通块需调用所属方法才会执行 这是普通块 这是静态方法 这是构造块 这是空构造器 这是普通块 */ } /*随笔*/ /*输出: 这是静态块----》类在方法区加载的时候静态方法、静态属性和静态块都会一次性加载完毕 这是构造块----》每创建一个该类的对象时,在执行到空构造器之前会加载一次(只需创建,无需调用便会执行) 这是空构造器----》每创建一个该类的对象时,在对象创建前会先调用空构造器 这是构造块 这是空构造器 这是普通块----》普通块需调用所属方法才会执行 这是普通块 这是静态方法 这是构造块 这是空构造器 这是普通块 */