码迷,mamicode.com
首页 > 编程语言 > 详细

java的枚举类enum,定义静态变量还可以有抽象方法,但枚举类不能被继承

时间:2018-08-01 11:47:03      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:new   sdn   http   函数   keyword   enum   不可   zab   ide   

借鉴https://blog.csdn.net/qq_31655965/article/details/55049192

在此解释枚举类不能被继承的原因:它已经继承过父类Enum类了,且它的父类实现了serializable接口,即所有enum类都实现了序列化

 而enum类也不可以被继承,原因如下:

写法是:public enum 枚举类类名{变量列表用逗号隔开,最后一个变量后用分号结束; 可用函数列表  }

其实 枚举类本身就是  public final class 枚举类类名{变量列表的类型就是该类类型且也用到了final关键字};并且枚举类自带value(),valueof()函数和static{}静态代码块的声明/定义。

故变量列表中的变量可以写成三种方式:1.变量名。//相当于用枚举类类型定义一个静态变量

                  2.变量名(变量名对应值)。//用枚举类类型定义变量,但该枚举类有提供有私有参构造方法和私有变量用作参数,参数的值就是变量名对应的值

                  3.变量名(变量名对应值){静态代码块}//除2以外,该枚举类还定义了抽象方法,变量名的后的代码块相当于是实现抽象方法的匿名内部类。写法如同:变量类型 变量名 =new 枚举类类名(参数){@Override

                        public 枚举类类型 抽象类类名() {
                                return 变量名; }

                       }

java的枚举类enum,定义静态变量还可以有抽象方法,但枚举类不能被继承

标签:new   sdn   http   函数   keyword   enum   不可   zab   ide   

原文地址:https://www.cnblogs.com/yicarro/p/9399457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!