1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java中的枚举类型与枚举实现接口的两种方式

Java中的枚举类型与枚举实现接口的两种方式

时间:2022-01-10 16:08:42

相关推荐

Java中的枚举类型与枚举实现接口的两种方式

枚举的构造

若某事物的取值只有有限个,可以一个个罗列出来,则这个列举出来的类型就叫做枚举类型。

(1)使用public static 修饰的方法构造枚举

public class Size {private int size=1;//用staic final修饰表示常量public static final Size SMALL=new Size(1);public static final Size MIDDLE=new Size(2);public static final Size BIG=new Size(3);private Size(int size){this.size=1;}public int getSize(){return size;}}

public class EnumTest {public static void main(String[] args) {if(Size.BIG==Size.BIG)System.out.println("相同的类型");elseSystem.out.println("不同的类型");}}

结果为 相同的类型

(2)使用enum关键字构造枚举

使用public static final表示的常量描述较为繁琐,使用enum关键字来定

义枚举类型取代常量,枚举类型是从Java5开始增加的一种引用数据类型。枚举值就是当前类的类型,也就是指向本类的对象,默认使用public

static final关键字共同修饰,因此采用枚举类型.的方式调用。枚举类可以自定义构造方法,但是构造方法的修饰符必须是private,默

认也是私有的。

使用enum关键字后(1)中的枚举定义可以简化为

public enum SizeEnum {BIG(3),MIDDLE(2),SMALL(1);private int size=3;private SizeEnum(int size){this.size=size;}}

再进一步简化为

public enum SizeEnum {BIG,MIDDLE,SMALL;}

可见使用enum关键字后,省略了static、final等关键字,变得更加方便,但本质上还是与之前相同。

Enum类型的常用方法

枚举类型对接口的实现

枚举类型实现接口需要实现接口的抽象方法,此时有两个选择:一、在枚举类型中重写方法一次。二、对枚举类型中的每个对象重写一次方法,这样可以做到每个对象的方法都不相同。

定义接口

public interface EnumInterface {public abstract void print();}

(1)重写方法一次

public enum SizeEnum implements EnumInterface{BIG,MIDDLE,SMALL;@Overridepublic void print() {System.out.println("在类型中重写方法一次");}}

main方法

public class EnumTest {public static void main(String[] args) {//获取SizeEnum的所有对象SizeEnum[] sizes=SizeEnum.values();//对每个枚举对象调用print方法for (SizeEnum s:sizes) {System.out.print(s.toString()+":");s.print();}}}

结果如下

可见所有对象调用的方法相同。

(2)对每个对象重写一次方法,SizeEnum修改为

public enum SizeEnum implements EnumInterface{BIG{@Overridepublic void print(){System.out.println("为BIG对象重写方法");}},MIDDLE{@Overridepublic void print(){System.out.println("为MIDDLE对象重写方法");}},SMALL{@Overridepublic void print(){System.out.println("为SMALL对象重写方法");}};}

main方法不变,结果为

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。