44java枚举(枚举中定义其它结构)

51 阅读1分钟

枚举(枚举中定义其它结构)

一、 概念

虽然枚举等同于多例设计,但是多例设计是在一个类中产生的,所以该类中可以定义更多的属性或者是方法。

于是只依靠以上的上的概念只能够说产生了若干个对象,但是并没有方法去定义更多的结构,所以在枚举设计的时候考虑到了这些因素,提出了更强大的枚举设计方案:

可以在枚举里面定义属性、方法或者实现接口。

二、范例:在枚举中定义更多结构多例设计

package cn.mldn.demo;

enum Color  {

RED("红色"),GREEN("绿色"),BLUE("蓝色");//如果定义有很多内容,枚举对象必须写在第一行

private String title ;

private Color(String title)  {  //构造方法绝对不能够使用public

this.title = title;

}

public String toString() { //  覆写object 类中的方法

return this.title ;

}

}

public class TestDemo {

public static void main(String[ ] args)  {

System.out.println(Color.RED);

}

}

结果:红色

枚举本身还可以实现接口,这样枚举中的每一个对象实际上就都变为了接口对象。

范例:让枚举实现借口

package cn.mldn.demo;

interface Icolor {

public String getcolor ( )

}

enum Color implements Icolor { //实现了 Icolor 接口

RED("红色"),GREEN("绿色"),BLUE("蓝色");//如果定义有很多内容,枚举对象必须写在第一行

private String title ;

private Color(String title)  {  //构造方法绝对不能够使用 public

this.title = title;

}

public String toString() { //  覆写 object 类中的方法

return this.title ;

}

}

@Override

public String getColor() { 

return this.title ;

}

}

public class TestDemo {

public static void main(String[ ] args)  {

Icolor ic =Color.RED

System.out.println(ic.getColor() );

}

}

执行结果:红色

这些只能够算是枚举的扩展特点,而其它的语言里面枚举没那么高级。

只有这样一句话: RED.GREEN,BLUE