开发者社区> 问答> 正文

为什么Java静态内部类的实例方法也不能访问外部类的实例属性呢?

为什么Java静态内部类的实例方法也不能访问外部类的实例属性呢?

展开
收起
小天使爱美 2020-04-07 13:20:37 1678 0
1 条回答
写回答
取消 提交回答
  • 因为静态内部类是外部类的类相关,而不是外部类的对象相关的。也就是说,静态内部类对象不是寄存在外部类对象里的,而是寄存在外部类的类本身中。当静态内部类对象存在时,并不存在一个被它寄存的外部类对象,静态内部类对象里只有外部类的类引用,没有持有外部类对象的引用。如果允许静态内部类的实例方法访问外部类的实例成员,但找不到被寄存的外部类对象,这将引起错误。

    2020-04-07 13:21:05
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载