`

Java的枚举备忘

    博客分类:
  • java
 
阅读更多

(1) 枚举类不能继承其他类  

    java不支持多继承.

    所有的枚举类都继承自java.lang.Enum类

 

(2) 使用接口组织枚举 

	public interface Drink {
		public static enum Juice implements Drink {
			ORANGE, APPLE, TOMATO, GUAVA;
		}
		public static enum Cocktail implements Drink {
			GIN, VODKA, RUM, TEQUILA, WHISKY, BRANDY, LIQUEUR;
		}
	}

 

(3) 枚举的抽象方法

	public static enum Sign {
		
		GGG("ggg") {
			@Override
			public void hello() {
				System.out.println(getText());				
			}
		},
		HHH("ero") {
			@Override
			public void hello() {
				System.out.println(getText());				
			}
		}
		;
		
		private String text;
		
		private Sign(String txt) {
			this.text = txt;
		}
		
		protected String getText() {
			return text;
		}

		public abstract void hello();
	}

 (4) EnumSet 与 EnumMap

		// 使用EnumSet遍历枚举
		EnumSet<Juice>  es = EnumSet.allOf(Juice.class);
		for (Iterator<Juice> it = es.iterator(); it.hasNext(); ) {
			System.out.println(it.next());
		}
		
		// EnumMap在创建时需指定一个枚举类
		EnumMap<Cocktail, String> em = new EnumMap<Cocktail, String>(Cocktail.class);
		// EnumMap的key不能为null, 且必须是枚举的一个值
		em.put(Cocktail.GIN, "琴酒");
		em.put(Cocktail.VODKA, "伏特加");
		em.put(Cocktail.RUM, "莱姆");
		// EnumMap使用数组操作存取
		System.out.println(em);

 

分享到:
评论

相关推荐

    eclipse图标含义备忘录

    在Java项目中,各种元素如类、接口、枚举类型、注解类型、方法和字段等,它们的访问修饰符(如public、private、protected)决定了它们在包内和包外的可见性。Eclipse通过不同的图标来区分它们,例如,使用public修饰...

    Java模式速查手册

    1. 创建型模式:单例模式、工厂模式(简单工厂、抽象工厂)、建造者模式、原型模式和枚举型单例。这些模式主要关注对象的创建过程,使得代码结构更加清晰,易于管理和测试。 2. 结构型模式:适配器模式、装饰器模式...

    Java的23种设计模式百度云下载链接.rar

    在Java中,通常通过双重检查锁定、静态内部类或者枚举来实现单例。 2. **工厂模式**:提供一个接口来创建对象,但让子类决定实例化哪个类。Java中的`AbstractFactory`和`SimpleFactory`都是工厂模式的例子。 3. **...

    java与模式(含源码)

    在Java中,我们可以使用枚举、双重检查锁定或者静态内部类来实现单例。 2. 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Java中的`java.lang.Class`类的`newInstance()`方法就是工厂方法...

    java的设计模式 《设计模式-java语言中的应用.pdf》

    在Java中,可以通过双重检查锁定(Double-Checked Locking)或枚举方式实现单例,避免多线程环境下的并发问题。 2. **工厂模式**:提供一个接口来创建对象,但让子类决定实例化哪一个类。Java中的`AbstractFactory`...

    java面试题库.zip

    - 枚举:枚举的特性和用法,枚举与单例模式的关系。 3. **并发编程** - 并发工具类:Semaphore、CyclicBarrier、CountDownLatch、ExecutorService等的使用。 - volatile和synchronized的区别与应用场景。 - ...

    GoF设计模式Java版

    在Java中,可以通过静态内部类、枚举或者双重检查锁定等方式实现单例模式。其中,枚举方式实现的单例既简单又高效,能够自动支持序列化机制,防止反序列化时重新创建新的实例。 #### 3. 适配器模式 适配器模式是一...

    java程序员面试宝典pdf版

    2. 枚举:掌握枚举的定义和使用,以及枚举的关联方法。 3. 反射:理解反射机制,如何动态获取类信息,创建对象,调用方法等。 4. 注解:了解注解的定义,元注解,自定义注解的使用,以及注解在编译时和运行时的作用...

    23种设计模式的Java实现

    在Java中,可以使用枚举、双重检查锁定(DCL)或静态内部类等方式实现。 2. **工厂模式(Factory)**:提供一个接口来创建对象,但让子类决定实例化哪个类。Java中的工厂方法通常通过抽象工厂类或接口来实现。 3. ...

    java23中设计模式详解

    在Java中,可以使用枚举、双重检查锁定等方式实现。 2. **工厂模式**:为创建对象提供接口,让客户端避免与具体类直接交互,增加代码的灵活性。简单工厂、工厂方法和抽象工厂模式是其三种主要形式。 3. **抽象工厂...

    7.1前的java代码示例整理

    在这个"7.1前的java代码示例整理"中,我们可以期待找到多种设计模式的实现,以及枚举类和异常处理的实例。 首先,让我们深入了解一下设计模式。设计模式可以分为三类:创建型模式(如单例、工厂方法、抽象工厂、...

    java达内面试题库

    6. 枚举:枚举类型的使用,以及与常量的对比。 三、集合框架 1. List、Set、Map接口:理解它们的特点,以及各自常用的实现类如ArrayList、LinkedList、HashSet、HashMap等。 2. 集合操作:掌握添加、删除、遍历元素...

    设计模式-Java语言中的应用

    例如,Java的枚举类型可以方便地实现单例模式,而动态代理则可以简化代理模式的实现。 通过阅读《设计模式-Java语言中的应用》,读者不仅可以掌握设计模式的基本概念和原理,还能学习到如何在实际项目中选择合适的...

    《软件设计模式(Java版)》电子课件(PPT)

    - 枚举单例模式:利用Java枚举类型实现单例,既简单又安全。 2. **结构型模式**: - 适配器模式:将两个不兼容的接口转换为兼容接口,使原有接口与新接口可以协同工作。 - 桥接模式:将抽象部分与它的实现部分...

    JAVA函数速查

    13. **枚举**:Java的枚举类型用于定义有限数量的常量,可以拥有方法和实现接口,比传统的常量定义更安全。 14. **Lambda表达式**:Java 8引入的Lambda表达式简化了函数式编程,使得代码更加简洁。 15. **注解...

    java设计模式源码

    在Java中,可以使用静态内部类、枚举或双重检查锁定等方法实现。 2. **工厂模式(Factory Method)**:定义一个创建对象的接口,让子类决定实例化哪一个类。在Java中,通过抽象工厂类和具体工厂实现类来体现这一...

    高级java工程师面试考纲,java高级工程师进阶知识地图

    **单例模式**、**工厂模式**、**抽象工厂模式**、**建造者模式**、**原型模式**、**适配器模式**、**装饰器模式**、**代理模式**、**桥接模式*...**、**中介者模式**、**备忘录模式**、**状态模式**、**责任链模式**...

    java设计模式代码实现

    在Java中,通常使用双重检查锁定(DCL)或者枚举来实现单例。 2. **工厂方法模式**:定义一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 3. **抽象工厂模式**:提供一个...

    Java版设计模式教程

    3. 行为型模式:关注对象间的通信和职责分配,包括责任链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、中介者模式(Mediator)、备忘录模式...

    JAVA与设计模式

    在Java中,可以使用双重检查锁定、静态内部类或者枚举实现单例。 2. 工厂方法模式:定义一个创建对象的接口,但让子类决定实例化哪一个类。Java的`java.sql.DriverManager`就是工厂方法模式的一个实例。 3. 观察者...

Global site tag (gtag.js) - Google Analytics