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

匿名内部类和Final修饰符[重复]

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

匿名内部类和Final修饰符[重复]

显式 是在源代码中写的东西。因此,如果将某些东西声明为

public final class
,则意味着该类是 明确的final

隐式 不是在源代码中写下的,而是在某种构造的上下文中或基于语言规则的情况下,元素的行为与使用指定修饰符声明的行为相同。

例如,

enum
声明中的关键字
enum SomeEnum {}
导致
SomeEnum
final
,因为语言规则对其进行了规定。其效果与关键字的效果相同
final

匿名类隐式最终的示例是因为不存在任何语言构造可覆盖匿名类。因此,它的行为就像是

final
。我认为“有效”一词在这里更好。


但是,您不能基于反射呈现事物的方式做出假设。考虑以下代码段:

public class Test {    interface SomeInterface { }    abstract interface SomeAbstractInterface { }    static abstract class SomeAbstractClass { }    enum SomeEnum { }    public static void main(String arg[]) {        System.out.println(Modifier.toString(SomeInterface.class.getModifiers()));        System.out.println(Modifier.toString(SomeAbstractInterface.class.getModifiers()));        System.out.println(Modifier.toString(SomeAbstractClass.class.getModifiers()));        System.out.println(Modifier.toString(SomeEnum.class.getModifiers()));    }}

结果是这样的:

abstract static interfaceabstract static interfaceabstract staticstatic final

无论

interface
abstractinterface
被认为是一个抽象接口。通过反射它们也被认为是静态的。显然,在解析和编译Java源代码的过程中,可以删除或添加一些修饰符。



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

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

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