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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 悟佛修道 高级黑马   /  2013-5-18 23:37  /  1232 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 悟佛修道 于 2013-5-21 11:28 编辑

如图那里加上静态和不加静态有什么不同?为什么一定要加静态?加静态的原理是什么??

QQ截图20130518233326.png (79.71 KB, 下载次数: 0)

QQ截图20130518233326.png

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 王盟盟 于 2013-5-18 23:56 编辑

内部类并不是必须加static的。但是如果在一个静态的方法中访问外部属性和内部类,那么这些属性和内部类就必须也是加static。而在非static方法中是可以访问static的属性和内部类的。

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
王盟盟 发表于 2013-5-18 23:50
内部类并不是必须加static的。但是如果在一个静态的方法中访问外部属性和内部类,那么这些属性和内部类就必 ...

意思是下面那个静态的 function 方法new了一个这个内部类的对象,相当于就是在访问这个内部类了,所以要加静态?
回复 使用道具 举报
本帖最后由 刘勇强 于 2013-5-21 09:51 编辑
悟佛修道 发表于 2013-5-21 08:35
意思是下面那个静态的 function 方法new了一个这个内部类的对象,相当于就是在访问这个内部类了,所以要 ...

静态成员是随着类的加载而加载的,跟成员是否创建没关系  

Test.function().method();
method()方法也需要声明为静态的  原因就是你和楼上说的,外部静态方法访问内部类,内部类需要定义为静态,当然内部类的成员也需要被定义为静态
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马