【我的Java笔记】使用枚举创建常量

本文探讨了如何在Java编程中利用枚举类型来创建和管理常量,对比了传统的常量定义方式,并详细介绍了枚举的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通常我们使用普通方法去创建常量:

// 测试类
public class Test {
    public static void main(String[] args){
        Direction1 d1 = Direction1.FRONT;
        System.out.println(d1);

        System.out.println("------------------------");

        Direction2 d2 = Direction2.FRONT;
        System.out.println(d2);
        System.out.println(d2.getName());

        System.out.println("------------------------");

        Direction3 d3 = Direction3.FRONT;
        System.out.println(d3);
        System.out.println(d3.getName());
        d3.show();
    }
}
// 方式1
public class Direction1 {
    public Direction1(){

    }

    public static final Direction1 FRONT = new Direction1() ;
    public static final Direction1 BEHIND = new Direction1() ;
    public static final Direction1 LEFT = new Direction1() ;
    public static final Direction1 RIGHT = new Direction1() ;
}
// 方式2
public class Direction2 {
    //创建几个实例对象
    public static final Direction2 FRONT = new Direction2("前") ;
    public static final Direction2 BEHIND = new Direction2("后") ;
    public static final Direction2 LEFT = new Direction2("左") ;
    public static final Direction2 RIGHT = new Direction2("右") ;

    //私有化,目的是为了不让外界创建对象
    private Direction2(){

    }
    private String name ;

    public Direction2(String name) {
        this.name = name ;
    }

    public String getName(){
        return name ;
    }
}
// 方式3
public abstract class Direction3 {
    //抽象方法
    public abstract void show() ;

    // 提供它子实现类(匿名内部类)
    public static final Direction3 FRONT = new Direction3("前") {

        public void show() {
            System.out.println("前");
        }
    };

    public static final Direction3 BEHIND = new Direction3("后") {

        public void show() {
            System.out.println("后");
        }
    };
    public static final Direction3 LEFT = new Direction3("左") {

        public void show() {
            System.out.println("左");
        }
    };
    public static final Direction3 RIGHT = new Direction3("右") {

        public void show() {
            System.out.println("右");
        }
    };

    private Direction3(){

    }
    private String name ;

    public Direction3(String name) {
        this.name = name ;
    }

    public String getName(){
        return name ;
    }

}

结果:






2.使用枚举的方法创建常量:

// 测试类
public class Test {
    public static void main(String[] args){
        Direction1 d1 = Direction1.BEHIND;
        System.out.println(d1);

        System.out.println("--------------------");

        Direction2 d2 = Direction2.BEHIND;
        System.out.println(d2);
        System.out.println(d2.getName());

        System.out.println("--------------------");

        Direction3 d3 = Direction3.BEHIND;
        System.out.println(d3);
        d3.show();
    }
}
// 方法1
public enum Direction1 {
    FRONT,BEHIND,LEFT,RIGHT;
}
// 方式2
public enum Direction2 {
    FRONG("前"),BEHIND("后"),LEFT("左"),RIGHT("右");

    private String name ;

    private Direction2(String name){
        this.name = name ;
    }

    public String getName(){
        return name ;
    }
}
// 方式3
public enum Direction3 {
    FRONT("前"){
        @Override
        public void show() {
            System.out.println("前");
        }
    }
    ,
    BEHIND("后"){
        @Override
        public void show() {
            System.out.println("后");
        }
    }
    ,
    LEFT("左"){
        @Override
        public void show() {
            System.out.println("左");
        }
    }
    ,
    RIGHT("右"){
        @Override
        public void show() {
            System.out.println("右");
        }
    }
    ;

    //抽象方法
    public abstract void show() ;

    private String name;

    private Direction3(String name){
        this.name = name;
    }
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值