zoukankan      html  css  js  c++  java
  • 枚举类型反编译

    本文分为2大部分

    • 反编译看枚举怎么用
    • 其实枚举用法很简单

    反编译看枚举怎么用

    枚举是基于泛型实现的,枚举是什么,其实枚举就是一个普通的类:enum是一个语法糖,Enum是对应的类: 
    这里写图片描述

    我们将源代码先编译,然后反编译可以看到(解语法糖之后): 
    这里写图片描述 
    很显然:enum Sex是一个final类,所以Sex无法被继承。同时反编译的代码让我们发现,枚举类其实已经继承Enum,java是不允许多继承的,所以enum Sex是封闭的,(枚举类)既不可以继承,也不可以被继承,但是可以使用接口。

    还有一点要注意:枚举类的构造函数必须是private,为什么呀? 
    因为枚举类是线程安全的,我们可以从反编译的代码里面看到其实枚举类用到的是静态方法来获取自己的final常量类对象,我们不需要也无法自己创建它的实例,因为JVM在加载这一个枚举类的时候,我们声明的所有枚举都已经被实例化了。,到这里:我们又得出一个结论:枚举类无法手动实例化。

    但是假如我们想要自己继承Enum类,很可惜: 
    这里写图片描述 
    编译器也不会允许我们这样。

    其实枚举用法很简单

    其实枚举的用法很简单: 
    其实就是调用自身内部的final静态类对象: 
    这里写图片描述 
    运行结果: 
    这里写图片描述

  • 相关阅读:
    Java中四个作用域的可见范围
    java构造方法前加void有什么作用
    css3渐变
    日历插件
    三级联动地点
    js返回上一级代码和刷新页面代码
    css3滚动条
    如何写评价“星星”有半个情况的,如3.5,这样写好调数据
    原生态js单个点击展开收缩和jQuery的写法
    推荐大家使用的CSS书写规范、顺序
  • 原文地址:https://www.cnblogs.com/dzhou/p/9553504.html
Copyright © 2011-2022 走看看