黑马程序员,黑马论坛--------枚举和单例设计模式的区别
2014-08-18 22:31
316 查看
[align=left]文章来源:黑马程序员,黑马论坛[/align] |
枚举和单例设计模式的区别,黑马面试有的
public class Test11 {
public static void main(String[] args) {
//调用:字母对象 -- 1
System.out.println(Letter.A);
//输出:com.itheima.Letter@3020ad
//调用:字母枚举 -- 2
System.out.println(Letter2.A);
//输出:A
//调用:字母单例模式 -- 3
System.out.println(Letter3.getLetter3());
//输出:com.itheima.Letter3@60e128
/*
* 三者都可以调用,而[字母对象]和[字母枚举]是类似的
* 只不过[字母枚举 ]是类似简化版
* 如果字[字母枚举 ]里就一个A那么和[字母单例模式 ]就和类似了
*
* 具体了解可以参考以下几篇信息
* 1.http://cardyn.iteye.com/blog/904534
* 2.http://developer.51cto.com/art/201107/275031.htm
* 3.http://www.iteye.com/topic/1116193
*/
}
}
/**
* 字母对象 -- 1
*/
final class Letter{
//A 字母常量
public static final Letter A = new Letter();
//B 字母常量
public static final Letter B = new Letter();
//C 字母常量
public static final Letter C = new Letter();
/**
* 私有构造函数不可以外部实例化Letter
*/
private Letter(){}
}
/**
* 字母枚举 -- 2
*/
enum Letter2{
A,B,C
}
/**
* 字母单例模式 -- 3
*/
class Letter3{
//1.初始化一个a字母对象
private static Letter3 a = new Letter3();
/**
* 私有构造函数不可以外部实例化Letter
*/
private Letter3(){}
/**
* 调用获得字母对象,实现单例模式
* @return 字母对象
*/
public static Letter3 getLetter3(){
if (a == null){
a = new Letter3();
}
return a;
}
}
相关文章推荐
- 黑马程序员——黑马学习日志之六 静态,单例设计模式,继承,多态
- 黑马程序员——><基础加强一(eclipse-静态导入-享元设计模式-自动拆装箱-枚举-反射-类加载器)>
- 黑马程序员:装饰设计模式介绍及装饰模式与继承关系的区别
- 黑马程序员,黑马论坛-------单例模式的两种实现(恶汉+懒汉)
- 黑马程序员--张孝祥Java高新技术-JDK1.5新特性(二)【基本数据类型的自动拆箱与装箱,枚举】以及享元设计模式
- 黑马程序员---枚举单例设计模式
- 设计模式和框架的区别
- 关于相似设计模式之间的区别
- 设计模式之模板方法和策略模式的区别(一)
- 从设计模式看抽象类与接口的区别
- 设计模式简单学习(1)--虚方法(virtual)和抽象方法(abstract)的区别
- 设计模式学习笔记:抽象工厂和工厂方法的区别
- 设计模式之-单例模式(Singleton)及java中==与equals的区别
- 设计模式跟框架的有什么区别
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- GOF设计模式学习笔记 --辨析各种模式的要点和相似模式之间的区别
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 设计模式学习之策略模式和简单工厂模式的区别和联系
- 黑马程序员:单态设计模式static(使类在内存只有一个实例对象)
- 设计模式之CS和BS结构的区别