1. 枚举类型
-
它只是对一种类型的包装:使用enum关键字定义的枚举类本质上就相当于一个Class定义的类,继承了java.lang.Enum父类。
enum与Enum区别: enum是一个关键字,使用enum定义的枚举类本质上就相对于一个类继承了Enum这个抽象类而已。 -
枚举成员默认是public final static,即常量所以枚举类中的枚举值全部大写
-
枚举类构造方法的访问修饰符只能为private,默认为private
enum Color {
RAD("红色"), BLUE("蓝色");
private String title;
//方法私有
private Color(String title) {
this.title = title;
}
@Override
public String toString() {
return this.title;
}
}
public class Enum2 {
public static void main(String[] args) {
System.out.println(Color.BLUE);//蓝色
}
}
1.构造方法protected Enum(String name, int ordinal)
2.取得枚举名字public final String name()
3.取得枚举序号public final int ordinal()
/*
**/
enum Color1 {
BLUE, ODE, BLACK;
}
public class EnumTest {
public static void main(String[] args) {
//ordinal()返回序号,name()返回具体内容
//1.System.out.println(Color1.ODE.ordinal()+"="+Color1.ODE.name());
//2.Color1.values()返回一个数组
for (Color1 temp : Color1.values()) {
System.out.println(temp.ordinal() + "=" + temp.name());
}
}
- enum使用switch语句
enum Sex {
MALE, FEMALE;
}
public class Enum1 {
public static void main(String[] args) {
switch (Sex.MALE) {
case MALE:
System.out.println("男人");
break;
case FEMALE:
System.out.println("女人");
break;
}
}
}
//男人
- 枚举实现接口
interface IColor {
String getColor();
}
enum Color2 implements IColor {
RED("红"),
BLUE("蓝");
private String title;
private Color2(String title) {
this.title = title;
}
@Override
public String toString() {
return super.toString() + title;
}
@Override
public String getColor() {
return title;
}
}
public class IEnum {
public static void main(String[] args) {
Color2 col=Color2.BLUE;
//默认调用toString
System.out.println(col);
System.out.println(col.getColor());
}
}
//BLUE蓝
//蓝
2.注解类型
并不是说写了注解以后就可以不使用配置文件了,只是现在使用的配置文件少了
1、JDK提供的三个内置标准注解:
(1)@Override,覆写,标记重写方法(签名一致);
(2)@Deprecated,声明过期,不是删除,可标记各种程序实体
(3)@SuppressWarnings,压制警告,当调用了某些操作可能产生问题的时候就会出现警告进行,但是警告信息并不是错,可标记各种程序实体
2、JDK提供的四个元注解:
(1)@Target,表示该注解用于什么地方
(2)@Retention,表示该注解保存的位置
(3)@Documented,表示将该注解保存在Javacode中
(4)@Inherited,表示允许子类继承父类中的注解