「java枚举构造函数」java枚举构造方法

博主:adminadmin 2023-01-28 17:30:08 407

今天给各位分享java枚举构造函数的知识,其中也会对java枚举构造方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java 关于枚举,这段代码到底是怎样执行的

你可以把枚举当作是一种类型,比如enum Size你可以看作class Size这样的声明。

然后,SMLL("S")是什么意思呢,就相当于你在class Size这个类内部定义了这样一个常量对象:

public static final Size SMLL = new Size("S");

只不过用枚举的话这样这样的声明方式被简成SMLL("S"),这是声明枚举常量的方式,比较简单。就是说这样等于是调用了private Size(String abbreviation) {this.abbreviation = abbreviation; }这个构造函数。

java中的枚举应该怎样深刻理解

枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。

Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。

1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。

2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。

3.Enum默认实现了java.lang.Comparable接口。

4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.

5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。

6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。

7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。

java枚举类的构造函数为何只能是私有的?

枚举类型是单例模式的。你需要实例化一次,然后再整个程序之中就可以调用他的方法和成员变量了。

枚举类型使用单例模式是因为他的值是固定的,不需要发生改变。

java中的枚举类型指的是什么啊?

在Java中,枚举类型本质上其实就是一个类,枚举中的常量都是该枚举类型的实例。虽然枚举类型有一些限制,比如不能再派生出子枚举类型,不能调用构造函数,不过我们仍然可以在枚举类型中定义构造函数、字段和方法

为什么java中用枚举实现单例模式会更好

单例模式实现方式有很多:在第一次使用的时候创建(构造函数中判断是否已经有实例存在),在类加载的时候用静态块儿创建(静态块初始化),在应用启动的时候创建。

在单线程中,基本大同小异,保证类的实例在整个应用中只有一个,都是没问题的。

但是在多线程环境下,什么时候创建这个实例是要考虑线程安全的。

枚举类型最大的特点就是:构造函数是private修饰的,也就是不能对其进行new,对象的实例都是预定义的,也就是在类加载的时候都是定义好了的,不会给其它调用去创建实例的机会。

结论是,可以模拟这个思路去创建单例,不一定非得用枚举,但是推荐用使用定义枚举的方式去实现单例模式

关于java枚举构造函数和java枚举构造方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。