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();
}
}