Java 枚举和类的区别】的更多相关文章

枚举 包含一组常量合法的数据,不能创建枚举实例,也不能进行扩展. package com.jtfr.demo; public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY , SUNDAY; } 里面默认私有的构造方法,不能用 public 修饰 package com.jtfr.demo; public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FR…
本文结合<Effective Java>第六章前半部分关于枚举的介绍和自己的理解及实践,讲解了Java枚举的知识点.文章发布于专栏Effective Java,欢迎读者订阅. 前言  你代码中的flag和status,都应该用枚举来替代很多人都说,枚举在实际开发中很少用到,甚至就没用到.因为,他们的代码往往是这样子的: public class Constant { /* * 以下几个变量表示英雄的状态 */ public final static int STATUS_WALKING = 0…
抽象类:一个类中有抽象方法,这个类就变成了抽象类.抽象类中class的前面必须有abstract修饰符.抽象类中可以有普通方法,也可以有抽象方法,而抽象方法的个数可以是0个,也可以是多个.子类继承父类,必须重写全部的抽象方法,除非这个类也变成了抽象类.接口:表面上看,接口是一种特殊的抽象类,但是类是类,接口是接口,是并列的关系.接口中所有方法都必须是抽象的.(1.8之后允许接口定义非抽象方法)接口中方法定义默认为public abstract类型,成员变量默认为public static fin…
hadoop 中 的Text类与java中的String类感觉上用法是相似的,但两者在编码格式和访问方式上还是有些差别的,要说明这个问题,首先得了解几个概念: 字符集: 是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.例如 unicode就是一个字符集,它的目标是涵盖世界上所有国家的文字和符号: 字符编码:是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对.即在符号集…
Java枚举 枚举类概念的理解与定义 一个类的对象是有限个,确定的,我们称此为枚举类. 当需要定义和维护一组常量时,强烈建议使用枚举类. 如果一个枚举类中只有一个对象,则可以作为单例模式的实现方式. 通俗的说:一个类被设计为包含固定实例数量的特殊类,我们给他的定义是枚举类. 注意: 1.枚举类不能被 new 出来,枚举类因为默认的类修饰符为 final 所以也不能被派生(继承),同理枚举类也不能为当作实现. 2.枚举类自身可以实现接口,既可以进行统一实现重写接口抽象方法,也可以按照枚举类型单个实…
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式.   枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 private final 修饰的属性应该在构造器中为其赋值. 若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数.   必须在枚举类的第一行声明枚举类对象. 枚举类和普通类的区别:        1.使用 enum 定义的枚举类默认继承了 java.lang.Enum 类      …
1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static final int SEASON_SPRING = 1; public static final int SEASON_SUMMER= 2; public static final int SEASON_FALL = 3; public static final int SEASON_WINTER =…
1.枚举是什么? Java中的枚举其实是一种语法糖,在 JDK 1.5之后出现,用来表示固定且有限个的对象.比如一个季节类有春.夏.秋.冬四个对象:一个星期有星期一到星期日七个对象.这些明显都是固定的,且有限个. 2.枚举类和普通类的区别 ①.使用 enum 定义的枚举类默认继承 java.lang.Enum 类,即枚举类是不能再继承别的类了.而普通类的一般父类默认是 Object ②.枚举类的构造器只能使用 private 定义,而普通类的还可以用 public 修饰 ③.枚举类的所有实例必须…
通过一段时间的项目实践,发现java中的枚举与.net中的枚举有很大的差别,初期造成了我对java中的枚举一些错误理解及部分有缺陷的应用,其实追其原因还是因为我会习惯性的认为java的枚举在作用以及定义上与.net应该是差不多的,毕竟两者都是高级语言,语言上也有很多相似之处.这就是老师傅常说的新手好教,老兵不好教的原因,新手脑子一片空白不会有任何干扰,老兵总会以自己曾经的某些经验与新知识做对比.     习惯性观点一:枚举的定义应该与.net相同,比如在.net中我们可以这样定义枚举. publ…
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YELLOW, RED } pu…