java枚举类型(java编程教程基础)
Java枚举是一个特殊的类,它通常表示一组常量。生活中,Java枚举也可以用例子来解释,比如一周七天,一年十二个月,人的性别只有男和女。今天,边肖将给大家带来大数据编程入门:Java枚举。本文将详细介绍Java枚举的用法。
Java枚举的简单介绍
Java枚举类一般用enum关键字定义,每个常量用逗号分隔。
例如,定义情绪的枚举类。
枚举心情
{
快乐,悲伤,兴奋;
}
上面列举的类中的情绪情绪常数是快乐、悲伤和兴奋,分别代表快乐、悲伤和兴奋。
使用示例:
枚举心情
{
快乐,悲伤,兴奋;
}
公共课考试
{
//执行输出结果
公共静态void main(String[] args)
{
心情m1=心情。快乐;
system . out . println(m1);
}
}
输出是:快乐
第二,在内部类中使用枚举
枚举类也可以在内部类中声明:
公共课考试
{
枚举心情
{
快乐,悲伤,兴奋;
}
//执行输出结果
公共静态void main(String[] args)
{
心情m1=心情。快乐;
system . out . println(m1);
}
}
输出结果是:
每个枚举都是通过类在内部实现的,所有枚举值都是公共静态final。
上面列举的类Mood转换是在内部类中实现的:
tyle="text-indent: 2em;">class Mood{
public static final Mood Happy = new Mood();
public static final Mood Sad= new Mood();
public static final Mood Excite = new Mood();
}
三、迭代枚举元素
可以使用for语句迭代枚举元素:
实例:
enum Mood
{
Happy,Sad,Excite;
}
public class MyClass {
public static void main(String[] args) {
for (Mood myVar : Mood.values()) {
System.out.println(myVar);
}
}
}
运行结果:
四、在 switch 中使用枚举类
枚举类通常用于switch语句,比如:
enum Mood
{
Happy,Sad,Excite;
}
public class MyClass {
public static void main(String[] args) {
Mood myVar = Mood.Sad;
switch(myVar) {
case Happy:
System.out.println("开心");
break;
case Sad:
System.out.println("伤心");
break;
case Excite:
System.out.println("激动");
break;
}
}
}
运行结果:
五、values(), ordinal() 和 valueOf() 方法
enum定义的枚举类默认继承Java.lang.Enum类,实现java.lang.serializable和java.lang.compatible接口。
values()、order()和valueof()方法位于java.lang.Enum类中:
Values()返回枚举类中的所有值。
order()方法可以找到每个枚举常量的索引,就像数组索引一样。
valueOf()方法返回指定字符串值的枚举常量。
实例:
enum Mood
{
Happy,Sad,Excite;
}
public class Test
{
public static void main(String[] args)
{
// 调用 values()
Mood[] arr = Mood.values();
// 迭代枚举
for (Mood Moo : arr)
{
// 查看索引
System.out.println(Moo + " at index " + Moo.ordinal());
}
// 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException
System.out.println(Mood.valueOf("Happy"));
// System.out.println(Mood.valueOf("WHITE"));
}
}
运行结果:
六、枚举类成员
与普通类一样,枚举可以使用自己的变量、方法和构造函数,构造函数只能使用私有访问修饰符,因此不能在外部调用它们。
枚举可以包含具体和抽象的方法,如果枚举类具有抽象方法,枚举类的每个实例都必须实现它。
实例:
enum Mood
{
Happy,Sad,Excite;
// 构造函数
private Mood()
{
System.out.println("Constructor called for : " + this.toString());
}
public void MoodInfo()
{
System.out.println("Universal Mood");
}
}
public class Test
{
// 输出
public static void main(String[] args)
{
Mood m1 = Mood.Happy;
System.out.println(m1);
m1.MoodInfo();
}
}
运行结果:
以上就是关于大数据编程入门:Java枚举的全部内容了,希望这篇文章可以帮助到大家~