A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 潘廖明 于 2013-3-15 23:41 编辑

非静态内部类对象和外部类对象的关系是怎么样的?

点评

如果对静态不是很理解的话,可以多看看毕老师的视频,和别人的总结(入学测试区有总结); 如果问题已经解决了,请将分类改为已解决,谢谢  发表于 2013-3-15 08:17

3 个回复

正序浏览
非静态内部类对象和外部类对象的关系是怎么样的?
1. 非静态内部类可以位于外部类的成员位置,也可以们于外部类的局部位置(方法中)。
2. 非静态内部类对象可以直接访问外部内的所有存员(包括私有成员);但是外部类对象不成直接访问非静态内部类成员,只有先生成一个内部类的实例,才可以访问。
3.如果内部类放在外部类的成员位置,并且没有访问外部类中的非静态成员的话,可以被声明为静态内部类。
4.外部其它类访问 成员内部类(非静态) 的方法:new outter().new inner();

评分

参与人数 1黑马币 +9 收起 理由
贾文泽 + 9

查看全部评分

回复 使用道具 举报
一 . 静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
二 . 静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量。
三 . 非静态内部类的非静态成员可以访问外部类的非静态变量。
四 . 生成一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。

评分

参与人数 1黑马币 +9 收起 理由
贾文泽 + 9

查看全部评分

回复 使用道具 举报
1、    非静态内部类可以直接访问所有的外部类的成员;
2、    静态内部类可直接访问外部类的静态成员,但不能直接访问外部类的非静态成员,需要实例化;
3、    局部内部类跟实例内部类一样能访问外部类的所有成员;
4、    在外部类中不能直接访问内部类的成员,必须通过内部类的实例才可访问;
5、    外部类中可直接访问静态内部类中的静态变量,若要访问静态内部类中非静态变量则需要实例化才行。

评分

参与人数 1黑马币 +9 收起 理由
贾文泽 + 9

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马