Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
枚举的理解
- 枚举是一组常量的集合,可以理解:枚举属于一种特殊的类,里面包含一组有限的特定对象
枚举定义的两种方式(自定义枚举和enum关键字枚举)
第一种枚举的自定义的实现步骤和注意事项
- 不要提供Setxxx方法,因为枚举对象值通常为只读
- 对枚举对象的属性使用:public+final+static修饰符
- 枚举对象名通常使用全部大写,常量命名规范
- 枚举对象根据需要,也可以有多个属性
- 在本类的内部创建一组本类实例对象
- 案例
| 1234567891011121314151617181920212223242526272829303132333435363738 | public
class
ad {
public
static
void
main(String[] args) {
//打印枚举的单个对象实例
System.out.println(GRY.GREEN);
}
//自定义枚举
public
static
class
GRY {
//创建多个枚举对象的实例
public
final
static
GRY GREEN =
new
GRY(
"1"
,
"绿灯"
);
public
final
static
GRY RED =
new
GRY(
"1"
,
"红灯"
);
public
final
static
GRY YELLO =
new
GRY(
"1"
,
"黄灯"
);
private
String type;
//类型
private
String desc;
//描述
//构造器私有化
private
GRY(String type, String desc) {
this
.type = type;
this
.desc = desc;
}
//只给getxx方法 不要set 方法,因为set方法可以修改
public
String getType() {
return
type;
}
public
String getDesc() {
return
desc;
}
@Override
public
String toString() {
return
type +
"\n"
+ desc ;
}
}
}
|
Enum关键字定义枚举
- 使用关键字enum来替代class
- 用常量名.(实惨列表)在类内部的第一行来定义
- 如果有多个常量(对象)中间用,号隔空
- 如果使用enum来实现枚举,使用,号隔开
- 举例
| 12345678910111213141516171819202122232425262728293031323334353637383940 | class
Weather {
public
static
void
main(String[] args) {
//打印自定义枚举常量
System.out.println(Season.SPRING);
System.out.println(Season.WINTER);
System.out.println(Season.AUTUMN);
System.out.println(Season.SUMMER);
}
enum
Season {
//如果使用 enum 来实现枚举,要求将定义常量对象,写在前面
// 如果我们使用的是无参构造器,创建常量对象,则可以省略 ()
SPRING(
"春天"
,
"温暖"
), WINTER(
"冬天"
,
"寒冷"
), AUTUMN(
"秋天"
,
"凉爽"
),
SUMMER(
"夏天"
,
"炎热"
);
private
String name;
private
String desc;
//描述
private
Season() {
//无参构造器
}
private
Season(String name, String desc) {
//有参构造器 并私有化
this
.name = name;
this
.desc = desc;
}
public
String getName() {
return
name;
}
public
String getDesc() {
return
desc;
}
@Override
public
String toString() {
return
name +
"\t"
+ desc ;
}
}
}
|
enum关键字的注意事项
- 当enum关键字开发一个枚举类时,默认会继承enum类,这个类是一个final类,不能再被继承
- 如果我们使用是无参构造器,则可以直接写常量名,小括号可以省略
- 枚举对象必须放在枚举的首行
- 使用enum关键字后,不能使用其他类,因为enum会隐式继承Enum
- 枚举类型对象之间的值比较式可以用==,直接比较不用equlas