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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 思考。。。 中级黑马   /  2015-6-25 19:39  /  408 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.当内部类中定义了静态成员,为什么该内部类必须是static的?
2.静态方法可以访问静态内部类的非静态方法吗?可以大概解释一下吗?

3 个回复

倒序浏览
1.因为静态类一加载就存在在内存中,而内部类必须编译之后才存在,就好比你已经有5块钱了,但是你买东西需要10元,你依然买不了。
2.静态的使用注意事项:
(1)        静态方法只能访问静态成员。非静态方法既可以访问静态也可以访问非静态。
(2)        静态方法中不可以定义this,super关键字。因为静态优先于对象存在,所以静态方法中不可以出现this。
(3)        主函数是静态的。
回复 使用道具 举报
支持楼上的 我明天才学面向对象 学习了我要回来看看
回复 使用道具 举报
jlnu_wl 发表于 2015-6-26 20:15
1.因为静态类一加载就存在在内存中,而内部类必须编译之后才存在,就好比你已经有5块钱了,但是你买东西需要 ...

哦,谢谢回答。但我还是有疑问,为什么在主函数main中可以访问其他静态方法中的非静态成员呢?不是得是静态成员才可以访问吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马