`
man_yutao
  • 浏览: 39536 次
  • 性别: Icon_minigender_1
  • 来自: 梦的国度
社区版块
存档分类
最新评论

EffectiveJava中关于枚举的漂亮代码

阅读更多
enum PayrollDay{
MONDAY(PayType.WEEKDAY),TUESDAY(PayType.WEEKDAY),
WEDNESDAY(PayType.WEEKDAY),THURSDAY(PayType.WEEKDAY),
FRIDAY(PayType.WEEKDAY),
SATURDAY(PayType.WEEKEND),SUNDAY(PayType.WEEKEND);
private final PayType payType;
PayrollDay(PayType payType){
	this.payType=payType;
}
double pay(double hours,double payRate){
	return payType.pay(hours,payRate);
}
	private enum PayType{
		WEEKDAY{
		double overtimePay(double hours,double payRate){
			return hours<HOUR_PER_SHIFT?0:(hours-HOUR_PER_SHIFT)*payRate/2;
			}
		},
		WEEKEND{
		double overtimePay(double hours,double payRate){
			return hours* payRate/2;
			}
		};
		abstract double overtimePay(double hours,double payRate);
		private static final int HOUR_PER_SHIFT=8;
		double pay(double hours,double payRate){
			double basePay=hours*payRate;
			return basePay+overtimePay(hours,payRate);
		}
	}
	
public static void main(String args[]){
	for(PayrollDay pa:values()){
	System.out.println(pa.pay(9,100));
	}
}
	
}
分享到:
评论

相关推荐

    java枚举实例代码

    枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,我们将探讨枚举的基本用法和特性。 首先,枚举的定义方式如下: ```java public enum Color { RED, GREEN, ...

    java枚举类型优秀源代码

    它能够提高代码的可读性和可维护性,并且Java中的枚举提供了一些内置的方法来帮助我们更好地管理和操作这些常量。 #### 特性 - **语法格式**:定义枚举的基本语法如下: ```java public enum Color { RED, GREEN...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限集合中的值。枚举类型在Java中被引入,主要用于解决常量集合并提供一种强类型的安全性,防止了无意间创建新的实例或修改枚举常量。这篇博客将深入探讨...

    java枚举ppt和详细代码

    在Java中,枚举提供了一种更安全、更规范的方式来处理常量,相比于传统的final static变量,枚举具有更多的内置功能和灵活性。 1. **枚举定义**: 在Java中,枚举的定义使用关键字`enum`。例如: ```java enum ...

    Java中的枚举类型Enum示例源代码

    Java中的枚举类型`Enum`是面向对象编程中一种强大的工具,它允许程序员定义自己的常量集合。在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`...

    effective-java 配套代码

    1. **枚举(Enums)**: 书中强调了枚举类型在Java中的强大作用,不仅提高了安全性,还简化了代码。你可以看到如何定义枚举,以及如何使用枚举方法和枚举常量。 2. **单例模式(Singletons)**: 书中讨论了几种实现...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    Effective Java第三版1

    在Effective Java中,作者可能会讨论最佳实践的重要性,以及遵循这些实践如何提升代码质量。 ### 第二章 创建和销毁对象 这一章深入探讨了对象的生命周期管理,包括: 1. **静态工厂方法**:相比构造器,静态工厂...

    java中enum枚举的详细用法

    Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...

    2021年EFFECTIVEJAVA读书笔记.docx

    本文总结了Effective Java 中关于枚举与注解的知识点,涵盖了枚举类型的优点、使用指南、避免使用 int 常量、使用 EnumSet 和 EnumMap 等。 枚举类型的优点 枚举类型提供了编译时类型安全、自动命名空间隔离、可以...

    java中枚举的使用

    枚举在Java中的使用不仅提高了代码的可读性和可维护性,还避免了传统常量类的一些潜在问题,如类型安全和非法实例化。 首先,我们来看枚举的基本定义。枚举类型的声明类似于类的声明,但用关键字`enum`开头。例如:...

    java中的枚举类型

    Java 中的枚举类型 Java 中的枚举类型是一种特殊的数据类型,它允许我们定义一组命名的常量。枚举类型骨子里是一个类别,所以您编译完成后,会产生一个 `.class` 档案。 枚举类型的用法 在 Java 中,我们可以使用...

    在Java中使用枚举

    在Java中,枚举是一种特殊的类,用于定义一组固定的、预定义的值,这些值具有类型安全性和一些特定的功能。虽然Java在早期版本中没有直接支持枚举,但随着Java 5的发布,枚举类型被引入,以解决之前版本中的一些问题...

    JAVA高级编程中Enum枚举

    本资源包提供了一些关于`Enum`枚举的深入学习材料,包括实例、常见问题以及相关的文档,非常适合Java开发者进行高级编程的学习和复习。 首先,枚举的基本语法是定义一个公共类,前面加上关键字`enum`。例如: ```...

    Java高新技术_java5的枚举的基本应用

    在Java中,枚举可以与`switch`语句一起使用,这使得代码更加简洁且易于阅读。例如: ```java public class EnumDemo { public static void main(String[] args) { Color color = Color.RED; switch (color) { ...

    Java源码查看枚举类型定义.rar

    首先,枚举类型在Java中通过关键字`enum`声明。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类型,包含三个枚举常量:RED、GREEN和BLUE。每个枚举常量都是`Color...

    Java中的“枚举类型

    ### Java中的“枚举类型”知识点详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法...

    Java手动方式创建枚举类示例

    Java手动方式创建枚举类是一种常见的编程方法,在Java中可以使用枚举类型来定义一组具有相同特征的常量。通过手动方式创建枚举类,可以更好地控制枚举类型的行为和特性。在本文中,我们将通过一个实例来介绍Java手动...

    代码 基于0-1整数规划隐枚举法离散型优化问题代码

    代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数...

Global site tag (gtag.js) - Google Analytics