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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18230343363 中级黑马   /  2015-7-22 00:24  /  351 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   为什么 成员内部类不可以有静态属性。
   怎么用代码来说明?

3 个回复

倒序浏览
因为内部类只有在创建外部类对象下时才可以加载进内存,,而内部类中再定义静态成员说明可以优先于对象使用(即它不依赖对象),也就是它在内部类类加载时就存在了。那么外部类没有new对象时,这个内部类不存在。但静态成员又是在对象建立前完成,这就产生了矛盾
-----------------我的理解不知道是不是
回复 使用道具 举报
分析的挺有道理
回复 使用道具 举报
因为内部类只有在创建外部类对象下时才可以加载进内存,而静态属性是在随着类的加载而加载,在没有创建外部类对象的之前就已经存在了,一个必须创建对象而加载,但是它的属性却又不需要依靠创建对象而存在,这样是矛盾的。我是这样理解的,不知道有没有错误。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马