JAVA枚举小答疑

目录

1.关于枚举的构造函数

2.关于枚举类中的抽象函数


1.关于枚举的构造函数

先看代码

enum Color 
{ 
    RED, GREEN, BLUE; 
  
    // 构造函数
    private Color() 
    { 
        System.out.println("Constructor called for : " + this.toString()); 
    }
} 
  
public class Test 
{     
    // 输出
    public static void main(String[] args) 
    { 
        Color c1 = Color.RED;
    } 
}

输出:

Constructor called for : RED
Constructor called for : GREEN
Constructor called for : BLUE

解释:

在 Java 中,当一个 enum 类被加载时,所有的枚举实例都会被创建,即使你只引用了一个枚举实例。本例中,创建c1 = Color.RED,但Java 在加载 Color 枚举类时,仍然会创建 REDGREENBLUE 这三个枚举实例。每个实例在创建时,都会调用一次构造函数,因此,构造函数会被调用三次。

2.关于枚举类中的抽象函数

在 Java 枚举中,你可以定义抽象方法。每个枚举常量都必须实现这个抽象方法。这样,你可以为每个枚举常量提供不同的行为。

例:

enum Color {
    // 定义一个抽象方法
    public abstract String getHexCode();

    //每个枚举常量都需要实现这个抽象方法
    RED {
        @Override
        public String getHexCode() {
            return "#FF0000";
        }
    },
    GREEN {
        @Override
        public String getHexCode() {
            return "#00FF00";
        }
    },
    BLUE {
        @Override
        public String getHexCode() {
            return "#0000FF";
        }
    };
}

public class Test {
    public static void main(String[] args) {
        // 调用每个枚举常量的实现
        System.out.println("Red Hex Code: " + Color.RED.getHexCode());
        System.out.println("Green Hex Code: " + Color.GREEN.getHexCode());
        System.out.println("Blue Hex Code: " + Color.BLUE.getHexCode());
    }
}

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值