通过枚举enum实现单例

通过enum关键字来实现枚举,在枚举中需要注意的有:

1. 枚举中的属性必须放在最前面,一般使用大写字母表示

2. 枚举中可以和java类一样定义方法

3. 枚举中的构造方法必须是私有的

enum Singleton implements Serializable {  

    INSTANCE;  

    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "[" + name + "]";
    }
}
时间: 2024-10-13 02:20:34

通过枚举enum实现单例的相关文章

简单介绍如何使用PowerMock和Mockito来mock 1. 构造函数 2. 静态函数 3. 枚举实现的单例 4. 选择参数值做为函数的返回值(转)

本文将简单介绍如何使用PowerMock和Mockito来mock1. 构造函数2. 静态函数3. 枚举实现的单例4. 选择参数值做为函数的返回值5. 在调用mock出来的方法中,改变方法参数的值 一点简要说明:Mockito其实已经可以满足大部分的需求,但是它的实现机制是使用cglib来动态创建接口的类的实例.但是这种实现方式不能用于构造函数和静态函数,因为那需要使用类的字节码(比如使用javassist). 所以我们才需要结合使用PowerMock. 1. mock构造函数, 如果有代码没有

为什么我墙裂建议大家使用枚举来实现单例

我们知道,单例模式,一般有七种写法,那么这七种写法中,最好的是哪一种呢?为什么呢?本文就来抽丝剥茧一下. 哪种写单例的方式最好 在StakcOverflow中,有一个关于What is an efficient way to implement a singleton pattern in Java?的讨论: 如上图,得票率最高的回答是:使用枚举. 回答者引用了Joshua Bloch大神在<Effective Java>中明确表达过的观点: 使用枚举实现单例的方法虽然还没有广泛采用,但是单元

使用enum实现单例

单例模式作为面试必考题,是每个应聘者都应掌握的知识,其中最有Big的就数enum的单例了,这也是Effective java作者推荐的一种方式 下面的代码实现了datasource的单例 enum dataSource{ DATA_SOURCE; private Connection connection = null; private dataSource() { try { connection = DriverManager.getConnection("jdbc:mysql://127.

单例设计模式之懒汉式(枚举实现)

package com.waibizi.demo07; @SuppressWarnings("all") public class Singleton_pattern { public static void main(String[] args) { // TODO Auto-generated method stub Singleton instance=Singleton.instance; Singleton instance1=Singleton.instance; Syst

单例设计

常见的单例设计模式有以下7种 1.懒汉  线程不安全 public class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } } 所谓懒汉 , 就是初始化类的时候不创建实例 , 什么时候使

GOF设计模式之1:单例设计模式

1.单例设计模式核心作用: 保证一个类只有一个实例,并且提供了访问该实例的全局访问点 2.常见应用场景: window的任务管理器 项目中读取配置文件一般也是一个单例模式 数据库连接池的设计也是采用单例模式,因为数据库连接是一种数据库资源 操作系统的文件管理系统,也是单例模式,一个操作系统只能有一个文件系统 Application也是单例的应用(Servlet编程或者Android的Application类) 在Spring中,每个bean默认也是单例的,这样的有点儿事Spring容器可以管理

Java枚举enum以及应用:枚举实现单例模式

枚举作为一个常规的语言概念,一直到Java5才诞生不得不说有点奇怪,以至于到现在为止很多程序员仍然更喜欢用static final的形式去命名常量而不使用,一般情况下,Java程序员用这种方式去实现枚举: class EnumByClass{ public static final int RED=0; public static final int GREEN=1; public static final int BLUE=2; } 这种方式实现的枚举也叫int枚举模式,尽管很常用,但是由in

java中的四种单例实现方式

在java中,单例设计模式是非常常见的设计模式,对单例设计模式的概念,不做过多的介绍,下面将逐一介绍四种单例设计模式: 1.第一种单例设计模式 1.1 代码实现 package com.singleton.one; /**  * 第一种单例设计模式  * @author Administrator  *  */ public class SingleTonOne { // 实例化 private static SingleTonOne instance = new SingleTonOne();

单例的几种写作方式和序列化

2015-09-02 16:02:07 推荐一篇大神的文章,好久之前就看过这篇文章,而且本文的思路就来自这篇文章~其实有了大牛的文章,本文可写可不写,但是为了给自己总结一下,就写了~ http://callmegod.iteye.com/blog/1474441 单例的作用想必大家都知道,也一直在用,但是到底怎样的单例是“比较”完美的单例模式呢?我也不知道,但是我一直在寻找答案~ 下面我简单总结一下单例吧,否则太乱了 Part 1:单例的几种实现方式 1. 恶汉式:指在类加载或者被初始化的时候,