为了账号安全,请及时绑定邮箱和手机立即绑定

为什么能在非静态外部类中直接声明静态成员,但在非静态内部类中却不能直接声明静态成员?

为什么能在非静态外部类中直接声明静态成员,但在非静态内部类中却不能直接声明静态成员?

CNSDHH 2018-09-13 11:29:25
问:为什么可以在非静态外部类中直接声明静态成员属性或方法,但在非静态内部类中却不能直接声明静态成员属性或方法?答:所谓静态成员属性或方法,即表示不用实例化(创建对象)即可直接访问的成员属性或方法,java语言规定类(这里单指【外部类】)的静态成员属性或方法可以直接被访问,所以非静态外部类可以直接声明静态成员。但是不能在非静态内部类中直接声明静态成员,因为非静态内部类就相当于外部类的一个非静态成员方法,而非静态成员方法需要先实例化(创建对象)才可访问,所以如果你在一个非静态成员方法中定义一个静态变量是不可以的,所以说,这和不能在非静态内部类中直接声明静态成员(属性或方法)是一个道理。(以上是小弟总结的疑问和答案,不知道理解的对不对,如果不对或理解不够充分和全面,希望大家给予指正,多谢了。)
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 1029 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信