方法内部类中为什么不能有静态成员

方法内部类中为什么不能有静态成员

方法内部类中为什么不能有静态成员

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1、首先请注意一个概念,static修饰的属性和方法,在类加载的时候就会存在于内存中!

2、 静态成员和静态方法是随着类的加载而存在的,也就是说方法内部类的静态属性是随着类的加载的,但是方法内部类的实例 是创建对象后方法才存在的,也就是说其静态属性优先存在于它的类实例的存在 这显然是矛盾的哦!也就是说,方法内部类依赖对象实例化后方法才能存在,如果方法内部类中有静态成员,那它的会在方法被创建使用前就存在,那这个是不被允许的哦!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


好帮手慕小班 2019-05-21 19:07:09

同学你好,方法内部类也叫局部内部类,它的作用范围只在方法内部有效,而静态成员的作用范围是在整个类中都有效,这里作用范围冲突,所以java语法规则规定,方法内部类中不允许有静态成员!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕UI1055113 #1
    局部内部类的作用范围只在方法内部有效,但是如果它的内部成员是静态的话也只是在局部内部类本身的范围内,这个范围并没有超过外部的方法呀,我觉得并不冲突呀
    2019-05-21 19:19:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师