黑马程序员技术交流社区
标题:
关于一个非静态内部类对象和外部类对象的一个问题
[打印本页]
作者:
潘廖明
时间:
2013-3-15 00:31
标题:
关于一个非静态内部类对象和外部类对象的一个问题
本帖最后由 潘廖明 于 2013-3-15 23:41 编辑
非静态内部类对象和外部类对象的关系是怎么样的?
作者:
续圆凯
时间:
2013-3-15 00:36
1、 非静态内部类可以直接访问所有的外部类的成员;
2、 静态内部类可直接访问外部类的静态成员,但不能直接访问外部类的非静态成员,需要实例化;
3、 局部内部类跟实例内部类一样能访问外部类的所有成员;
4、 在外部类中不能直接访问内部类的成员,必须通过内部类的实例才可访问;
5、 外部类中可直接访问静态内部类中的静态变量,若要访问静态内部类中非静态变量则需要实例化才行。
作者:
边道坚
时间:
2013-3-15 00:48
一 . 静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
二 . 静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量。
三 . 非静态内部类的非静态成员可以访问外部类的非静态变量。
四 . 生成一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。
作者:
itserious
时间:
2013-3-15 02:05
非静态内部类对象和外部类对象的关系是怎么样的?
1. 非静态内部类可以位于外部类的成员位置,也可以们于外部类的局部位置(方法中)。
2. 非静态内部类对象可以直接访问外部内的所有存员(包括私有成员);但是外部类对象不成直接访问非静态内部类成员,只有先生成一个内部类的实例,才可以访问。
3.如果内部类放在外部类的成员位置,并且没有访问外部类中的非静态成员的话,可以被声明为静态内部类。
4.外部其它类访问 成员内部类(非静态) 的方法:new outter().new inner();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2