内部类之非静态内部类补充

一 .外部类访问非静态内部类的途径

外部类无法访问内部类的细节,解决方法:

1.在非静态内部类的public void info(){}方法里实现了非静态内部类的所有细节

2.外部类的public void test(){}创建了非静态内部类的对象

3.这样外部类方法test()里的内部类对象就可以访问自身模板里的公共权限的info()方法,间接访问了非静态内部类的所有细节

4.而test方法的调用,只需创建外部类对象即可


 

二.非静态内部类对象和外部对象的关系

  非静态内部类对象必须寄生在外部类对象里---如果存在一个非静态内部类对象,则一定存在一个被它寄生的外部类对象; 外部类对象不一定寄生了非静态内部类对象

                                                                       


 三.不允许在外部类静态成员中直接使用非静态内部类

 

 

 因为静态成员随类一起加载,非静态的都还不存在,同理:非静态内部类不能有静态方法,静态成员变量,静态初始化块

 

posted @ 2018-09-25 16:57  静心*尽力  阅读(116)  评论(0编辑  收藏  举报