Java基础 8.25

-1

1.enum常用方法的使用

  • toString:Enum类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息
  • name:返回当前对象名(常量名),子类中不能重写
  • ordinal:返回当前对象的位置号,默认从0开始
  • values:返回当前枚举类中所有的常量
  • valueOf:将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常
  • compareTo:比较两个枚举常量,比较的就是编号

新知识点:增强for循环

package com.logic.enum_;

/**
 * @author logic
 * @version 1.0
 * 演示Enum类各种方法的使用
 */
public class EnumMethod {
    public static void main(String[] args) {
        Season2 autumn = Season2.AUTUMN;
        //输出枚举对象的名称
        System.out.println(autumn.name());
        //ordinal() 输出的是该枚举对象的次序/编号 从0开始编号
        //AUTUMN 是第三个 因此输出2
        System.out.println(autumn.ordinal());
        //从反编译可以看出values方法 返回Season2[]
        //含有定义的所有枚举对象
        Season2[] values = Season2.values();
        //增强for循环
        //执行流程 从values中依次取出数据 赋给season 如果取出完毕 则退出for循环
        for (Season2 season : values) {
            System.out.println(season);
        }

        //根据你输入的AUTUMN到Season2的枚举对象去查找
        //如果找到了 就返回 如果没有找到 就报错
        Season2 autumn1 = Season2.valueOf("AUTUMN");
        System.out.println(autumn1);
        System.out.println(autumn1 == autumn);
        //compareTo 比较两个枚举常量 比较的就是编号
        //就是把 Season2.AUTUMN 枚举对象的编号和Season2.SUMMER 枚举对象的编号比较
        //Season2.SUMMER编号[1] - Season2.AUTUMN编号[2]
        System.out.println(Season2.SUMMER.compareTo(Season2.AUTUMN));
    }
}

2.enum的练习

声明Week枚举类,其中包含星期一至星期日的定义:MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, SUNDAY;使用values返回所有的枚举数组,并遍历,输出

package com.logic.enum_;

/**
 * @author logic
 * @version 1.0
 */
public class EnumExercise02 {
    public static void main(String[] args) {
        Week[] values = Week.values();
        System.out.println("==所有星期的信息如下==");
        for (Week day : values) {
            System.out.println(day);
        }
    }
}

enum Week {
    MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"),
    FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日");
    private String cn;

    private Week(String cn) {
        this.cn = cn;
    }

    @Override
    public String toString() {
        return cn;
    }
}

3.enum细节

使用enum关键字后,就不能再继承其它类了,因为enum会隐式继承Enum,而Java是单继承机制

枚举类和普通类一样,可以实现接口,如下形式:enum 类名 implements 接囗1,接口2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值