黑马程序员技术交流社区

标题: 请问两个问题 [打印本页]

作者: 思考。。。    时间: 2015-6-25 19:39
标题: 请问两个问题
1.当内部类中定义了静态成员,为什么该内部类必须是static的?
2.静态方法可以访问静态内部类的非静态方法吗?可以大概解释一下吗?
作者: jlnu_wl    时间: 2015-6-26 20:15
1.因为静态类一加载就存在在内存中,而内部类必须编译之后才存在,就好比你已经有5块钱了,但是你买东西需要10元,你依然买不了。
2.静态的使用注意事项:
(1)        静态方法只能访问静态成员。非静态方法既可以访问静态也可以访问非静态。
(2)        静态方法中不可以定义this,super关键字。因为静态优先于对象存在,所以静态方法中不可以出现this。
(3)        主函数是静态的。

作者: 走在这里    时间: 2015-6-26 22:31
支持楼上的 我明天才学面向对象 学习了我要回来看看
作者: 思考。。。    时间: 2015-6-27 10:31
jlnu_wl 发表于 2015-6-26 20:15
1.因为静态类一加载就存在在内存中,而内部类必须编译之后才存在,就好比你已经有5块钱了,但是你买东西需要 ...

哦,谢谢回答。但我还是有疑问,为什么在主函数main中可以访问其他静态方法中的非静态成员呢?不是得是静态成员才可以访问吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2