package cm.inwardclass.statics;
//import cm.inwardclass.statics.Fight.Insert;
import cm.inwardclass.statics.Fight.Insert;
//这个类用来测试,使用static修饰内部类的用法
public class CaseTonehundredTen {
public static void main(String[] args) {
//使用类,必须创建类对象
//底层:import cm.inwardclass.statics.Fight.Insert;
// Fight.Insert in = new Fight.Insert();
Fight.Insert in = new Insert();
in.insert();
}
}
//外部类
class Fight{
//static属性
private static String m = "I want to insert";
private String mm = "美眉我最喜欢了";
//static定义的内部类等同于外部类,与之不同的是,它是否开辟堆内存空间保存类成员,
//还是如同static定义的一样,保存在公共空间,执行完毕内存就释放掉了?
//static class:内部类保存于公共内存中,在主类主方法中创建该类对象,又将类中成员保存于堆内存中
static class Insert{
public void insert() {
System.out.println(Fight.m); //System.out.println(m);
//报错:System.out.println(Fight.this.mm);像这类知识,只能随着经验增长,逐渐掌握与熟练。否,此段代码报错,说明:
System.out.println(new Fight().mm);
}
}
}
彦舜原创,CSDN首发