public class StaticInner {
private String id;
private static String name;
static {
System.out.println(">>load StaticInner>>>"+System.currentTimeMillis());
}
public StaticInner() {
System.out.println(">>StaticInner noParam constructor>>>"+System.currentTimeMillis());
}
public StaticInner(String id,String name) {
System.out.println(">>StaticInner constructor>>>"+System.currentTimeMillis());
this.id=id;
this.name=name;
}
public void outHello() {
System.out.println(">>>>outHello"+id+"<>"+name);
}
public static class StaticInnerClass{
//static StaticInner si=new StaticInner("1","w");
//private static String test="test";
static {
System.out.println(">>load StaticInnerClass>>>"+System.currentTimeMillis());
}
public StaticInnerClass() {
System.out.println(">>StaticInnerClass constructor>>>"+System.currentTimeMillis());
}
public static void innerHello() {
//si.name=test;
//System.out.println(">>>>>innerHello"+si.id+"<>"+name);
System.out.println(">>>>>innerHello");
}
}
public static void main(String[] args) {
//只调用外部类,不会加载内部类
//StaticInner si=new StaticInner("2","L");
//si.outHello();
//只调用内部类,会加载外部类
StaticInnerClass.innerHello();
}
}
private String id;
private static String name;
static {
System.out.println(">>load StaticInner>>>"+System.currentTimeMillis());
}
public StaticInner() {
System.out.println(">>StaticInner noParam constructor>>>"+System.currentTimeMillis());
}
public StaticInner(String id,String name) {
System.out.println(">>StaticInner constructor>>>"+System.currentTimeMillis());
this.id=id;
this.name=name;
}
public void outHello() {
System.out.println(">>>>outHello"+id+"<>"+name);
}
public static class StaticInnerClass{
//static StaticInner si=new StaticInner("1","w");
//private static String test="test";
static {
System.out.println(">>load StaticInnerClass>>>"+System.currentTimeMillis());
}
public StaticInnerClass() {
System.out.println(">>StaticInnerClass constructor>>>"+System.currentTimeMillis());
}
public static void innerHello() {
//si.name=test;
//System.out.println(">>>>>innerHello"+si.id+"<>"+name);
System.out.println(">>>>>innerHello");
}
}
public static void main(String[] args) {
//只调用外部类,不会加载内部类
//StaticInner si=new StaticInner("2","L");
//si.outHello();
//只调用内部类,会加载外部类
StaticInnerClass.innerHello();
}
}