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

© 王会涛 中级黑马   /  2014-11-13 16:26  /  1659 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么静态只能访问静态成员,在外部类的静态函数里面访问内部类时内部类必须是stastic可是为什么在主函数里面访问非静态内部类就可以呢(new  Outer.Inter().内部类的方法)?

8 个回复

正序浏览
扫地僧wu 来自手机 中级黑马 2014-11-13 22:03:22
9#
2口回答的很好啊,学习了
回复 使用道具 举报
学习!!!!!!
回复 使用道具 举报
w239983684 来自手机 中级黑马 2014-11-13 20:12:02
7#
学习了。
回复 使用道具 举报
wf111sxwf 发表于 2014-11-13 18:40
第二个我写错了。  误解了你的问题。  主函数是静态的  不可以直接访问非静态的方法,但是你创建了内部类对 ...

懂了,谢谢,就是看内部类是静态成员用类名.访问方法,如果是非静态,用对象.访问
回复 使用道具 举报
看看!!
回复 使用道具 举报
学习学习!!!!!!
回复 使用道具 举报
第二个我写错了。  误解了你的问题。  主函数是静态的  不可以直接访问非静态的方法,但是你创建了内部类对象,用对象调用了方法,这个和主函数是没什么关系的
回复 使用道具 举报
何为静态?  类一加载它就存在了,不需要对象就可以直接用类名调用,而非静态的成员必须创建对象才可以调用,
内部类处于成员位置上时,你可以把他视作一个成员变量来理解, 静态成员方法可以访问非静态成员变量么?明显不能。  这就是为什么在外部类的静态函数里面访问内部类时内部类必须是stastic。

二。在主函数中访问非静态内部类  是这样的  Outer.Inner   oi = new Outer.new Inner.    oi.内部类方法。

评分

参与人数 1技术分 +1 收起 理由
MVP + 1

查看全部评分

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