Java语法学习枚举类

Java语法学习枚举类

大纲

  1. 基本介绍
  2. 枚举的实现
  3. 枚举类的方法
  4. 细节

具体案例

1.介绍

在这里插入图片描述

2.枚举的实现

1.自定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这种类似于前面的单例设计模式,私有化构造器(防止创建对象),在内部创建所需对象(用final和static修饰优化底层),去除set方法(防止修改属性),调用我们创建好的类时,直接静态的调用

class fa{
  	final static fa fa1 = new fa ("父亲1",28);
    final static fa fa2 = new fa("父亲2 ",27);
    private String name;
    private int age;

    private fa(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

//    public void setName(String name) {
//        this.name = name;
//    }去除掉set方法

    public int getAge() {
        return age;
    }

//    public void setAge(int age) {
//        this.age = age;
//    }去除掉set方法
}

2.enum关键词

  1. 枚举的常量必须写最前面
  2. 枚举默认私有化构造器。所以是不能被继承的
enum fa{
    FA1("父亲1",28),
    FA2("父亲2",27);//这种枚举的常量必须写最前面
    // 而且如果有多个,前面用逗号连接,最后用分号
    private String name;
    private int age;

     fa(String name, int age) {
        this.name = name;
        this.age = age;
    }//枚举默认私有化构造器。所以是不能被继承的

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
注意事项

在这里插入图片描述
因为我们使用enum关键字会默认继承Enum,所以我们可以使用Enum里的方法

3.枚举类的方法

在这里插入图片描述
在这里插入图片描述

注解

首先看枚举类代码

enum fa{
    FA1("父亲1",28),
    FA2("父亲2",27);//这种枚举必须写最前面
    // 而且如果有多个,前面用逗号连接,最后用分号
    private String name;
    private int age;

     fa(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
对于第一点

子类可以重写该tostring方法,直接输出对象信息

对于第二点

name 返回常量名,不能被重写

public class test {
    public static void main(String[] args) {
        System.out.println(fa.FA1.name());//直接输出名字
    }
}
对于第三点

ordinal 输出该枚举对象对应枚举常量是第几个,从零开始编号
(下面我输出的是第一个,但是编号是零)

public class test {
    public static void main(String[] args) {
        System.out.println(fa.FA1.ordinal());//直接输出是第几个枚举常量
        //从零开始编号
    }
}
对于第四点

values 按照顺序把枚举对象返回为一个数组

public class test {
    public static void main(String[] args) {
       fa [] fathers = fa.values();//按照顺序把枚举对象返回为一个数组
    }
}
对于第五点

valueof 把一个字符串去匹配我们枚举里面的枚举对象的名字,如果有,就返回那个枚举对象,没有就保错。

public class test {
    public static void main(String[] args) {
        fa person = fa.valueOf("FA1");//把一个字符串去匹配我们枚举里面的枚举对象的名字
        //如果有,就返回那个枚举对象,没有就保错。
    }
}
对于第六点

compareTo 返回两个枚举对象的编号的差,前面的减后面的

public class test {
    public static void main(String[] args) {
        System.out.println(fa.FA1.compareTo(fa.FA2));
        //返回两个枚举对象的编号的差,前面的减后面的
    }
}

4.细节

在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挽天java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值