枚举

作者: snail_crawl | 来源:发表于2019-06-09 10:54 被阅读0次
    1. 如果父类实现了 serializable 接口,子类不用再实现序列化接口,子类及父类成员变量即可序列化
    2. 如果父类没有实现 serializable 接口,子类实现了序列化接口,想要序列化父类成员变量,首先要满足父类有一个默认构造器;然后在序列化手动将父类成员变量序列化。
    3. final 关键字修饰的类不允许被继承,默认的方法都是final的;普通类里的final方法不允许被重写;
    4. 枚举类都默认继承于Enum,但是我们自己却不能直接继承Enum,没有默认构造函数;

    枚举的单例模式初始化为什么是线程安全的:
    参考文章:https://github.com/seaswalker/JDK/blob/master/note/Enum/enum.md

    另外反编译后的类文件:
    javap -p WeekEnum.class Compiled from "WeekEnum.java" public final class com.ys.tutorial.serial.WeekEnum extends java.lang.Enum<com.ys.tutorial.serial.WeekEnum> { public static final com.ys.tutorial.serial.WeekEnum MONDAY; public static final com.ys.tutorial.serial.WeekEnum TUESDAY; private static final com.ys.tutorial.serial.WeekEnum[]VALUES;
    public static com.ys.tutorial.serial.WeekEnum[] values();
    public static com.ys.tutorial.serial.WeekEnum valueOf(java.lang.String);
    private com.ys.tutorial.serial.WeekEnum();
    static {};
    }
    这和单例的写法是不是很像,而且是由jvm来保证的。

    相关文章

      网友评论

          本文标题:枚举

          本文链接:https://www.haomeiwen.com/subject/nipgxctx.html