非静态内部类的对象寄存在外部类实例里a
Student 的对象寄存在Main的实例里
Main main=new Main();
Main.Student stu=main.new Stduent();=> Main.Student stu=new Main().new Student();
public class Main(){
public static void main( String[] args){
}
class Student(){
}
}
在非静态内部类的里面不能定义静态属性;
非静态内部类相当于外部类的非静态成员 先加载外部类,创建对象,然后创建内部类,然后初始化变量 , 加载内部类必须在外部内创建实例完成之后加载
非静态内部类依赖于外部类的实例,静态内部类 仅与类相关(静态加载时,没有实例的存在)