package fengke.classtest; |
/** |
* 有关静态模块与对象模块的内容 |
* @author 锋客 |
* 结果: |
* 不执行对象模块 |
* 不调用无参构造方法 |
* 总结:static===只要class被加载 就执行,切只执行一次 |
* 对象模块只有在使用构造器前才执行,每一次调用构造器,都会执行一次,执行顺序为书写顺序 |
* |
*/ |
public class Entry { |
private static String inforstatic= "static属性生成" ; |
private int num; |
private String infor; |
static { |
System.out.println( "static模块执行了" ); |
} |
{ |
System.out.println( "构造器前的对象模块执行!" ); |
} |
public Entry() { |
super (); |
System.out.println( "无参的构造器执行!" ); |
} |
{ |
System.out.println( "构造器后的对象模块执行!" ); |
} |
public Entry( int num, String infor) { |
super (); |
this .num = num; |
this .infor = infor; |
System.out.println( "带参数的构造器执行!" ); |
} |
@Override |
public String toString() { |
return "Entry [num=" + num + ", infor=" + infor + "]" ; |
} |
|
public static void main(String[] args) { |
System.out.println( "main执行了" ); |
} |
} |
package fengke.classtest; |
/** |
* 有关静态模块与对象模块的内容 |
* @author 锋客 |
* Entry entry=null;不会调用Entry这个类 |
* |
*/ |
public class ClassTest { |
public static void main(String[] args) { |
System.out.println( "entry1=null的情况下" ); |
Entry entry1= null ; |
System.out.println( "entry2=new Entry()的情况下" ); |
Entry entry2= new Entry( 12 , "fengke" ); |
System.out.println( "entry3=new Entry()的情况下" ); |
Entry entry3= new Entry(); |
} |
} |