欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

java枚举类的构造函数实例详解

时间:2021-02-23 15:15:13|栏目:JAVA代码|点击:

java枚举类的构造函数实例详解

首先,给出一个例题如下:

enum AccountType
{
  SAVING, FIXED, CURRENT;
  private AccountType()
  {
    System.out.println(“It is a account type”);
  }
}
class EnumOne
{
  public static void main(String[]args)
  {
    System.out.println(AccountType.FIXED);
  }
}

Terminal输出:

It is a account type
It is a account type
It is a account type
FIXED

分析:

创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 Java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式Class Enum<E extends Enum <E>>,而E表示枚举类型的名称的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中

简单来说就是枚举类型中的枚举值都会对应调用一次构造函数,本题中三个枚举值,这里还要特别强调一下,枚举中的构造函数是私有类,也就是无法再外面创建enum

枚举值默认static(静态类常量) ,会为每个类常量增加一个构造函数。AccountType.FIXED使用的是枚举值,没有创建。所以一共就3次。

public class Test {

  public static void main(String[] args) {

    weekday mon = weekday.mon;
    weekday tue = weekday.tue;
    weekday thus = weekday.thus;
    weekday fri = weekday.fri;

  }

  public enum weekday {
    mon(), tue(2), wes(3), thus(), fri;
    private weekday() {
      System.out.println("no args");
    }

    private weekday(int i) {
      System.out.println("have args " + i);
    };
  }
}

Terminal输出:

no args
have args 2
have args 3
no args
no args

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:java实现中缀表达式转后缀的方法

栏    目:JAVA代码

下一篇:RocketMq事务消息发送代码流程详解

本文标题:java枚举类的构造函数实例详解

本文地址:http://www.codeinn.net/misctech/68329.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有