跟王老师学枚举(二):使用枚举

跟王老师学枚举(二):使用枚举

主讲教师:王少华   QQ群号:483773664

一、Java枚举

(一)、枚举的关键字是enum


1

2

3

public enum Grade {

}

(二)、枚举也是一个类

1、枚举的构造方法,默认是私有化的

2、枚举的实例对象,默认public static final


1

2

3

public enum Grade {

    A,B,C,D,E

}

3、枚举的实例对象的变量名,必须放在所有内容之前

二、使用枚举

(一)默认构造方法


1

2

3

public enum Grade {

    A,B,C,D,E

}


1

2

3

4

public class Student {

    private String name;    //姓名

    private Grade grade=Grade.A;    //成绩:A B C D E

}


1

2

3

4

5

6

public class StudentTest {

    public static void main(String[] args) {

        Student student = new Student();

        student.setGrade(Grade.A);

    }

}

(二)有参数的构造方法


1

2

3

4

5

6

7

8

9

10

11

public enum Grade {

    A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");

    private String value;

    private Grade(String value) {

        this.value = value;

    }

    public String getValue() {

        return value;

    }

}


1

2

3

4

5

6

7

8

public class StudentTest {

    public static void main(String[] args) {

        Student student = new Student();

        student.setGrade(Grade.A);

        //输出指定级别的分数范围

        System.out.println(Grade.B.getValue());

    }

}

(三)内部类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

public enum Grade {

    A("100-90"){

        public String getLocString(){

            return "优";

        }

    },

    B("89-80"){

        public String getLocString(){

            return "好";

        }

    },

    C("79-70"){

        public String getLocString(){

            return "良";

        }

    },

    D("69-60"){

        public String getLocString(){

            return "及格";

        }

    },

    E("59-0"){

        public String getLocString(){

            return "不及格";

        }

    };

    private String value;

    private Grade(String value) {

        this.value = value;

    }

    public String getValue() {

        return value;

    }

    public abstract String getLocString();

}


1

2

3

4

5

6

7

8

9

public class StudentTest {

    public static void main(String[] args) {

        Student student = new Student();

        student.setGrade(Grade.A);

        //输出指定级别的分数范围

        System.out.println(Grade.B.getValue());

        System.out.println(Grade.C.getLocString());

    }

}

来自为知笔记(Wiz)

时间: 2024-12-21 21:54:29

跟王老师学枚举(二):使用枚举的相关文章

跟王老师学枚举(一)为什么需要枚举

跟王老师学枚举(一):为什么需要枚举 主讲教师:王少华   QQ群号:483773664 一.需求 一些方法在运行时,它需要的数据不能任意的,而必须是一定范围内的值.比如,有以下需求:学生的考试成绩只能分为A B C D E五个等级,不能是其他的等级 二.实现 (一)第一种方式:字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class Student {     private String name;    //姓名

跟王老师学枚举(三):枚举类API

跟王老师学枚举(三):枚举API 主讲教师:王少华   QQ群号:483773664 一.枚举类API Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法.常用方法: name():返回此枚举常量的名称 ordinal():返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零 valueof(Class enumClass, String name):返回带指定名称的指定枚举类型的枚举常量 valueof(String name):返回带指定

跟王老师学枚举(四):枚举类练习

跟王老师学枚举(四):枚举的练习 主讲教师:王少华   QQ群号:483773664 一.需求 请编写一个关于星期几的枚举WeekDay 要求: 枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun 该枚举要有一个方法,调用该方法返回中文格式的星期(星期一...) 二.参考代码 package chapter11_04;   public enum WeekDay {     Mon{         @Override         public String getChinaWe

跟王老师学反射(二):Java类的加载、连接和初始化

跟王老师学反射(二):Java类的加载.连接和初始化 主讲教师:王少华   QQ群号:483773664 学习内容: 了解类的加载.连接和初始化 一.类的生命周期 当我们编写一个java的源文件后,经过编译会生成一个后缀名为class的文件,这种文件叫做字节码文件,只有这种字节码文件才能够在java虚拟机中运行,java类的生命周期就是指一个class文件从加载到卸载的全过程.一个java类的完整的生命周期会经历加载.连接.初始化.使用.和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直

跟王老师学注解(二)注解的分类及内建注解

跟王老师学注解(二):注解的分类及内建注解 主讲教师:王少华   QQ群号:483773664 一.注解的分类 在Java中,根据注解的使用方法和用途,可将注解分成3类,分别是 内建注解(也称为基本注解),定义于java.lang包下 元注解(Meta Annotation) 自定义注解 二.内建注解 (一)分类 在JDK5.0及以上的版本的java.lang包下提供了3种标准的注解类型,分别是 @Override: @Deprecated @SuppressWarnings (二)@Overr

跟王老师学反射(四):Class类:从Class类中获取信息

跟王老师学反射(四)Class类:从Class类中获取信息 主讲教师:王少华   QQ群号:483773664 学习内容 获得class类中的信息 根据我们以前学过的一个Java类有以下几部组成,如下代码所示 一.访问Class对应的类所包含的构造方法 (一)public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回此Class对象所表示的类的指定public构造方法. parameterTypes参数是按

跟王老师学注解(三):元注解

跟王老师学注解(三):元注解 主讲教师:王少华   QQ群号:483773664 元注解,是用来修饰其他的注解定义.java.lang.annotation包下提供了4个元注解,分别是@Target注解.@Retention注解.@Documented注解以及@Inherited注解. 一.@Target (一)简介 用于指定被修饰的注解能用于修饰哪些程序元素 @Target注解类型有唯一的value作为成员变量,value的类型为java.lang.annotation.ElementType

跟王老师学MySQL:MySQL数据类型之小数类型

跟王老师学MySQL:MySQL数据类型之小数类型 主讲教师:王少华   QQ群号:483773664 学习内容 小数类型有哪些以及它们的取值范围 定义语法中的M和D的含义 定点型和浮点型的区别 一.简介 MySQL中使用浮点数类型和定点数类型来表示小数. 浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型). 定点数类型就是DECIMAL型. 二.字节数.取值范围 三.定义语法 1 类据类型 (M,D) M:精度,数据的总长度 D:标度,小数点后的长度 注: 小数点不占长

跟王老师学MySQL:MySQL数据类型之字符类型

跟王老师学MySQL:MySQL数据类型之字符类型 主讲教师:王少华   QQ群号:483773664 学习内容: 字符串类型的种类及其特点 char和varchar的异同 字符串类型是在数据库中存储字符串的数据类型. 字符串类型包括 CHAR. VARCHAR BLOB TEXT 一.char和varchar (一)定义语法 1 字符串类型 (M) 注: 字符串类型:char或varchar M:指定了该字符串最大长度 (二)二者不同之处 char类型长度是固定的,即在创建表时就指定了,其长度