Java之枚举和设计模式

本文详细介绍了Java中的枚举类,包括其语法、适用场景及枚举类中的方法。接着,文章深入探讨了设计模式,特别是单例模式、享元模式、原型模式、建造者模式、迭代器模式、策略模式和简单工厂模式的概念、实现方式以及应用场景。
摘要由CSDN通过智能技术生成

一. 枚举类

(1)语法
public enum 枚举类名{
    
}

(2)适用场景:
当对象的个数已经固定,并有限时,例如:性别,星期等等()

举例:

//定义一个枚举类
public enum Sex {
    //男性
    MALE,
    //女性
    FEMALE
}

(3)枚举类中常用的方法

        //枚举类中常用的方法
        //1.获取枚举类中对象的序号,序号从0开始
        System.out.println(Sex.MALE.ordinal());//0
        System.out.println(Sex.FEMALE.ordinal());//1

        //2.枚举类和字符串的转换
        //把枚举对象转为字符串
        System.out.println(Sex.MALE.name());//MALE
        //把字符串转为枚举对象
        Sex female = Sex.valueOf("FEMALE");

        //虚拟机中的枚举对象只有一份,可以用==来比较
        System.out.println(Sex.valueOf("MALE") == Sex.MALE);//true

        //3.打印所有的枚举对象
        for (Sex sex : Sex.values()) {
            System.out.println(sex);
        }

(4)枚举类中也可以有方法,构造方法,属性, 但   构造方法不能是公共的
   枚举类不能继承

public enum Sex {

    // 男性
    MALE("男"),
    // 女性
    FEMALE("女");

    // 方法,构造方法...

    public String test() {
        return "ok";
    }

    private String cnName;

    public String cnName() {
        return this.cnName;
    }

    // 构造方法不能是公共的
    Sex(String cnName) {
        this.cnName = cnName;
    }

}

二.设计模式

编程中的一些套路,让我们的代码实现特定的目的,结构上更加优秀   简称  GOF (group of Four) -- 23种

1.单例模式 (Singleton)

(1)定义:虚拟机中这个类只有一个实例(一个对象)

(2)实现方式
方法1:饿汉式单例  (一开始就创建好)

public class Singleton1 {

    /**
     * 让构造方法私有,别人就没法创建此类的实例了
     */
    private Singleton1() {

    }

    /**
     * 自己创建这个实例
     */
    private static final Singleton1 ME = new Singleton1();

    /**
     * 获取唯一实例
     * @return
     */
    public static Singleton1 getInstance() {
        return ME;
    }

}

方法2:懒汉式单例  (用到时才创建,用不到不创建)
在多线程下为了保证真正的单例&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值