枚举类的使用
- 如何自定义枚举类
- 如何使用关键字enum定义枚举类
- Enum类的主要方法
- 实现接口的枚举类
类的对象只有有限个,确定的。
举例如下:
- 星期:Monday(星期一)、......、Sunday(星期天)
- 性别:Man(男)、Woman(女)
- 季节:Spring(春节)......Winter(冬天)
- 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡)
- 就职状态:Busy、Free、Vocation、Dimission
- 订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、 Return(退货)、Checked(已确认)Fulfilled(已配货)、
- 线程状态:创建、就绪、运行、阻塞、死亡
当需要定义一组常量时,强烈建议使用枚举类
使用
enum
定义枚举类
public enum SeasonEnum {
SPRING("春天","春风又绿江南岸"),
SUMMER("夏天","映日荷花别样红"),
AUTUMN("秋天","秋水共长天一色"),
WINTER("冬天","窗含西岭千秋雪");
private final String seasonName;
private final String seasonDesc;
private SeasonEnum(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc; }
public String getSeasonName() {
return seasonName; }
public String getSeasonDesc() {
return seasonDesc; } }
注解(Annotation)
Annotation
其实就是代码里的
特殊标记
,
这些标记可以在编译
,
类加载
,
运行时被读取
,
并执行相应的处理。通过使用
Annotation,
程序员
可以在不改变原有逻辑的情况下
,
在源文件中嵌入一些补充
信息。代
码分析工具、开发工具和部署工具可以通过这些补充信息进行验证
或者进行部署。
Annotation
可以像修饰符一样被使用
,
可用于
修饰包
,
类
,
构造器
,
方法
,
成员变量
,
参数
,
局部变量的声明
,
这些信息被保存在
Annotation
的
“name=value”
对中
常见的
Annotation
示例
@Override:
限定重写父类方法
,
该注解只能用于方法
@Deprecated:
用于表示所修饰的元素
(
类
,
方法等
)
已过时。通常是因为
所修饰的结构危险或存在更好的选择
@SuppressWarnings:
抑制编译器警告
泛型的概念
所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,
继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实
际的类型参数,也称为类型实参)。
在集合中使用泛型
ArrayList<Integer> list = new ArrayList<>();//类型推断
list.add(78);
list.add(88);
list.add(77);
list.add(66);
//遍历方式一:
//for(Integer i : list){
//不需要强转
//System.out.println(i);
//}
//遍历方式二:
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
自定义泛型结构
自定义泛型结构:泛型类、泛型接口
class Person<T> {
// 使用T类型定义变量
private T info;
// 使用T类型定义一般方法
public T getInfo() {
return info; }
public void setInfo(T info) {
this.info = info; }
// 使用T类型定义构造器
public Person() {
}
public Person(T info) {
this.info = info; }
通配符的使用