枚举 _枚举的其他应用
2015-10-26 22:53
323 查看
可以使用枚举实现一个接口
可以在枚举类中定义抽象方法
枚举类型可以跟普通的类一样实现一个接口,但是实现接口的时候要求枚举中的每个对象都必须单独覆写好接口中的抽象方法。
[java] view
plaincopy
interface Print{
public String getColor() ;
}
enum Color implements Print{
RED{
public String getColor(){
return "红色" ;
}
},GREEN{
public String getColor(){
return "绿色" ;
}
},BLUE{
public String getColor(){
return "蓝色" ;
}
} ;
}
public class InterfaceEnumDemo{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.print(c.getColor() + "、") ;
}
}
};
还可以直接在枚举中定义抽象方法,但是要求枚举中的每个对象都分别实现此抽象方法。
[java] view
plaincopy
enum Color implements Print{
RED{
public String getColor(){
return "红色" ;
}
},GREEN{
public String getColor(){
return "绿色" ;
}
},BLUE{
public String getColor(){
return "蓝色" ;
}
} ;
public abstract String getColor() ;
}
public class AbstractMethodEnum{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.print(c.getColor() + "、") ;
}
}
};
总结:
1、枚举的最大作用在于限定取值范围,在随后的 Annotaion 中也会有所讲解。
2、如果已经习惯了使用其他语言的枚举操作的话,可以会适应 JAVA 的枚举的开发习惯,而如果没有枚举的相关经验的话,那么也不是很建议使用枚举。
可以在枚举类中定义抽象方法
枚举类型可以跟普通的类一样实现一个接口,但是实现接口的时候要求枚举中的每个对象都必须单独覆写好接口中的抽象方法。
[java] view
plaincopy
interface Print{
public String getColor() ;
}
enum Color implements Print{
RED{
public String getColor(){
return "红色" ;
}
},GREEN{
public String getColor(){
return "绿色" ;
}
},BLUE{
public String getColor(){
return "蓝色" ;
}
} ;
}
public class InterfaceEnumDemo{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.print(c.getColor() + "、") ;
}
}
};
还可以直接在枚举中定义抽象方法,但是要求枚举中的每个对象都分别实现此抽象方法。
[java] view
plaincopy
enum Color implements Print{
RED{
public String getColor(){
return "红色" ;
}
},GREEN{
public String getColor(){
return "绿色" ;
}
},BLUE{
public String getColor(){
return "蓝色" ;
}
} ;
public abstract String getColor() ;
}
public class AbstractMethodEnum{
public static void main(String args[]){
for(Color c:Color.values()){
System.out.print(c.getColor() + "、") ;
}
}
};
总结:
1、枚举的最大作用在于限定取值范围,在随后的 Annotaion 中也会有所讲解。
2、如果已经习惯了使用其他语言的枚举操作的话,可以会适应 JAVA 的枚举的开发习惯,而如果没有枚举的相关经验的话,那么也不是很建议使用枚举。
相关文章推荐
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- HashMap工作原理
- Android编程宝典-第二章-Activity
- BOM对象
- 2015年10月15号到24号.net工程师面试题
- IOS--判断当前网络是否可用
- C++:类模板与模板类
- MMDrawerController抽屉侧边栏的简单使用
- Core Data系列三——基本使用
- 四,jquery事件绑定(bind)和取消事件(unbind)
- 【转】最大权闭合图
- second scrum meeting - 151026
- 实战Scala & Spark (3)
- 对于宽字符的初步运用
- POJ - 2752 Seek the Name, Seek the Fame(KMP next数组的理解)
- 4.1常用分布的概率函数图
- c++使用happyhttp发送http请求
- Jcrop_jQuery图片裁剪插件
- jquery 筛选元素 (2)
- 贡献度分配讨论20151026