10.11 定义枚举结构
demo1 在枚举类中定义成员属性与方法
enum Color { // 枚举类
RED("红色"),GREEN("绿色"),BLUE("蓝色"); // 枚举对象要写在首行
private String title;// 成员属性
private Color(String title){// 构造方法初始化属性;
this.title = title;
}
@Override
public String toString(){// 对象的输出都调用toString方法
return this.title;
}
}
public class JavaDemo {
public static void main(String args[]) {
for(Color c : Color.values()){
System.out.println(c.ordinal() + "-" + c.name() + "~~" + c);
}
}
}
- 结果
0-RED~~红色
1-GREEN~~绿色
2-BLUE~~蓝色
demo2 通过枚举类实现接口
interface IMessage {
public String getMessage();
}
enum Color implements IMessage{ // 枚举类实现接口
RED("红色"),GREEN("绿色"),BLUE("蓝色"); // 枚举对象要写在首行
private String title;// 成员属性
private Color(String title){// 构造方法初始化属性;
this.title = title;
}
@Override
public String toString(){// 对象的输出都调用toString方法
return this.title;
}
@Override
public String getMessage(){
return this.title;
}
}
public class JavaDemo {
public static void main(String args[]) {
IMessage msg = Color.RED;// 对象向上转型
System.out.println(msg.getMessage());
}
}
demo3在枚举类定义抽象方法---没什么用
enum Color {
RED("红色"){
@Override
public String getMessage(){// 覆写抽象方法
return "[RED]" + this;// this.toString() 可以简化写成 `this`
}
},
GREEN("绿色"){
@Override
public String getMessage(){
return "[GREEN]" + this;
}
},
BLUE("蓝色"){
@Override
public String getMessage(){
return "[BLUE]" + this;
}
};
private String title;// 成员属性
private Color(String title){
this.title = title;
}
@Override
public String toString(){
return this.title;
}
public abstract String getMessage();// 直接定义抽象方法
}
public class JavaDemo {
public static void main(String args[]) {
System.out.println(Color.RED.getMessage());
}
}
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-07-01 PHP用CURL发送Content-type为application/json的POST请求方法
2019-07-01 怎么用Ubuntu系统制作Ubuntu系统盘