欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 第一百二十七节 Java面向对象设计 - Java枚举方法

第一百二十七节 Java面向对象设计 - Java枚举方法

2025/5/11 18:31:04 来源:https://blog.csdn.net/2301_78772942/article/details/139971801  浏览:    关键词:第一百二十七节 Java面向对象设计 - Java枚举方法

Java面向对象设计 - Java枚举方法

因为枚举类型实际上是一个类类型,所以我们可以在枚举类型体中声明一切,我们可以在类体中声明它。

以下代码使用字段,构造函数和方法定义了一个级别枚举。

public enum Level {LOW(30), MEDIUM(15), HIGH(7), URGENT(1);// Declare an instance variableprivate int levelValue;// Declare a private constructorprivate Level(int levelValue) {this.levelValue = levelValue;}public int getLevelValue() {return levelValue;}
}

上面的代码声明了一个实例变量 levelValue ,它将为每个枚举常量存储一个值。

它还定义了一个私有构造函数,它接受一个int参数。它将其参数的值存储在实例变量中。

我们可以向枚举类型添加多个构造函数。

我们不能向枚举类型添加公共或受保护的构造函数。

级别枚举声明一个公共方法getLevelValue()。

枚举常量声明已更改为

LOW(30), MEDIUM(15),  HIGH(7),  URGENT(1);

现在每个枚举常量名称后面都跟着括号中的整数值。 LOW(30)是调用int参数类型的构造函数的缩写。

当创建枚举常量时,括号中的值将被传递给我们添加的构造函数。

LOW调用默认的无参数构造函数,而LOW(30)使用参数调用构造函数。

例子

以下代码测试Level枚举类型。它打印常量的名称,它们的序数和它们的下划线值。

enum Level {LOW(30), MEDIUM(15), HIGH(7), URGENT(1);// Declare an instance variableprivate int levelValue;// Declare a private constructorprivate Level(int levelValue) {this.levelValue = levelValue;}public int getLevelValue() {return levelValue;}
}public class Main {public static void main(String[] args) {for (Level s : Level.values()) {String name = s.name();int ordinal = s.ordinal();int underLine = s.getLevelValue();System.out.println("name=" + name + ",  ordinal=" + ordinal + ", underLine="+ underLine);}}
}

上面的代码生成以下结果。


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词