• 自学Java基础知识第二十天


    1. 枚举类型(扩展)

    1. 枚举类型与class类非常相似, 枚举类型表示定义出一个类型, 这个类型可以创建的对象个数固定, 这种情况下可以使用枚举类型

       举例 : 定义出一个星期类型, 星期只有1-7, 于是将1-7每一个星期对象个数固定下来, 只能创建出7个对象, 分别对应1-7

       月份类型 : 1-12, 只能创建出12个月份对象, 对应1-12

    1. 枚举类型实现:

    1) 枚举类型定义,需要关键字enum, 每一个枚举类型的对象, 以枚举项形式列举出来即可, 就是将对象名列举出来, 多个枚举项之间使用 , 进行分隔, 最后一个枚举项使用;作为结束

    注意 : 枚举项必须写在枚举类型第一行

    2) 枚举类型中的所有构造方法都是私有的, 因此枚举类型在其他外类中无法创建对象

    3) 枚举类型中一样可以定义成员变量, 方法, 使用枚举类型对象调用即可

    代码

    package com.ujiuye.enumdemo;

    // 定义一个星期类对比枚举类型

    public class Weekday {

    private String name;

        // 2. 本类中设计出Weekday类型的对象

    public static final Weekday MON = new Weekday("星期一");

    public static final Weekday TUE = new Weekday("星期二");

    public static final Weekday WED = new Weekday("星期三");

    // 1. 为了不能在其他类型中创建出Weekday对象, 于是构造方法私有化

    private Weekday() {}

    private Weekday(String name) {

    super();

    this.name = name;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    }

    package com.ujiuye.enumdemo;

    // 表示星期类型, 枚举, 自带就是创建的类型类型的对象个数固定

    public enum WeekdayEnum {

     //类比 : public static final WeekdayEnum MON = new WeekdayEnum();

     // 枚举项必须写在枚举类型的第一行

         MON("枚举星期一"),TUE("枚举星期二"),WED("枚举星期三");

     // 枚举类型中的所有构造默认私有

    private String name;

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    private WeekdayEnum(String name) {

    this.name = name;

    }

    }

    package com.ujiuye.enumdemo;

    public class TestWeekday {

    public static void main(String[] args) {

    Weekday mon = Weekday.MON;

    Weekday mon1 = Weekday.MON;

    System.out.println(mon == mon1);// true

    System.out.println(mon.getName());// 星期一

    Weekday mon2 = Weekday.TUE;

    System.out.println(mon2.getName());// 星期二

    // 枚举类型中的星期对象

    WeekdayEnum enum1 = WeekdayEnum.MON;

    WeekdayEnum enum2 = WeekdayEnum.MON;

    System.out.println(enum1 == enum2);// true

    System.out.println(enum1.getName());// 枚举星期一

    System.out.println(WeekdayEnum.WED.getName());// 枚举星期三

    }

    }

  • 相关阅读:
    Login
    2Sum,3Sum,4Sum,kSum,3Sum Closest系列
    Word Search II
    Word Search
    Linux命令四
    linux命令三
    Linux命令二
    Linux命令一
    网络基础
    操作系统
  • 原文地址:https://www.cnblogs.com/masterhxh/p/13629074.html
Copyright © 2020-2023  润新知