栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么匿名类在静态上下文中有效

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么匿名类在静态上下文中有效

可以在静态上下文中创建类而无需将其声明为静态,这就是在这里发生的情况。让我们看看被声明为静态的并在静态上下文中创建的含义:

在静态上下文中创建的匿名类与非静态上下文中创建的匿名类之间的区别在于它是否具有封闭的实例:

如果C是一个匿名类,则:

  • 如果类实例创建表达式出现在静态上下文中,则我没有立即封闭的实例。

  • 否则,i的直接封闭实例就是这个。

声明为静态的嵌套类允许使用静态成员:

内部类是未显式或隐式声明为static的嵌套类。

根据Java编程语言的常规规则,不是内部类的嵌套类可以自由声明静态成员。

通过说一个“隐式声明为静态的”嵌套类,它指的是接口内的类之类的东西:

接口的成员类是隐式静态的(第9.5节),因此永远不要将其视为内部类。

匿名类不是声明为静态的(既不是用关键字显式声明的,也不是隐式声明(例如在接口内部的)),因此不允许声明静态成员。但是,可以在静态上下文中创建它们,这意味着它们不引用封闭的实例。

由于匿名类未声明为静态,因此问题中的两个引号均保持一致。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号