package com.jin.enums; public enum Planet { MERCURY (3.303e+23, 2.4397e6), VENUS (4.869e+24, 6.0518e6), EARTH (5.976e+24, 6.37814e6), MARS (6.421e+23, 3.3972e6), JUPITER (1.9e+27, 7.1492e7), SATURN (5.688e+26, 6.0268e7), URANUS (8.686e+25, 2.5559e7), NEPTUNE (1.024e+26, 2.4746e7), PLUTO (1.27e+22, 1.137e6); private final double mass; // in kilograms private final double radius; // in meters Planet(double mass, double radius) { this.mass = mass; this.radius = radius; } public double mass() { return mass; } public double radius() { return radius; } // universal gravitational constant (m3 kg-1 s-2) public static final double G = 6.67300E-11; public double surfaceGravity() { return G * mass / (radius * radius); } public double surfaceWeight(double otherMass) { return otherMass * surfaceGravity(); } }
形式二
package com.jin.enums; public enum Operation { // PLUS, MINUS, TIMES, DIVIDE; // // // Do arithmetic op represented by this constant // double eval(double x, double y){ // switch(this) { // case PLUS: // { // System.out.println("aa"); // System.out.println("aa"); // System.out.println("aa"); // return x + y; // } // case MINUS: return x - y; // case TIMES: return x * y; // case DIVIDE: return x / y; // } // throw new AssertionError("Unknown op: " + this); // } PLUS { double eval(double x, double y) { return x + y; } }, MINUS { double eval(double x, double y) { return x - y; } }, TIMES { double eval(double x, double y) { return x * y; } }, DIVIDE { double eval(double x, double y) { return x / y; } }; // Do arithmetic op represented by this constant abstract double eval(double x, double y); }
形式三:
package com.jin.enums; public enum Color { RED, GREEN, YELLOW, BLUCK }
使用:
package com.jin.enums; public class Test { public static void main(String[] args) { // System.out.println(Color.valueOf("RED")); // System.out.println(Planet.VENUS.radius()); System.out.println(Operation.PLUS.eval(1, 3)); } }
相关推荐
在编程中,`enum`(枚举)类型是用来定义一组命名的整数常量,它在C++中被广泛使用。然而,在某些情况下,我们可能会遇到`enum`类型的重定义问题,这通常发生在包含不同库或者头文件时,因为这些库可能已经定义了...
在C++语言中,自定义数据类型为我们提供了一种途径,能够根据程序的需求定义复合数据类型,以更好地适应程序设计的需要。下面将详细讨论结构体(struct)、共用体(union)、枚举类型(enum)以及typedef声明类型的...
Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...
枚举类型的定义形式为:enum 枚举类型名 {枚举常量表};其中,枚举类型名是用户定义的类型名,枚举常量表是该枚举类型的所有枚举常量的集合。 typedef声明新类型名是C++语言中的一种语法,它允许用户定义一个新的...
### Java软件开发实战:自定义标注类型 #### 16.3 自定义标注类型 **标注(Annotation)** 是Java 5引入的一个重要特性,它为元数据提供了一种标准化的方式来描述程序元素(如类、方法等)。通过使用标注,开发者...
在C++编程语言中,自定义数据类型是程序员根据需求创建的特定数据结构,用于表示更复杂的实体或概念。这通常涉及到使用基本数据类型(如int、char、float等)来构建新的复合类型,比如枚举(enumeration)、数组、...
在C++程序设计中,自定义数据类型是基础知识点之一,主要涉及到结构体(struct)、共用体(union)、枚举类型(enum)等。这些类型能够帮助程序员定义更为复杂和特定的数据结构,从而在程序中表示更加丰富的信息。 ### ...
在C语言中,自定义数据类型是一种强大的特性,允许程序员根据需求创建自己的数据结构。这通常涉及到结构体(struct)、共用体(union)和枚举(enumeration)三种类型。这些自定义类型使得代码更加灵活,能够更好地...
本项目示例"1.springboot+mybatis项目demo2.mybatis自定义枚举类型的转换器以及各种使用场景"着重展示了如何在Spring Boot应用中集成MyBatis,并利用MyBatis处理枚举类型的数据。 首先,我们来了解Spring Boot。...
在C语言中,自定义数据类型是编程时非常重要的一个特性,它允许程序员根据实际需求创建新的复杂数据结构。这通常涉及到结构体、共用体和枚举等类型。 1. **自定义数据类型概念**:自定义数据类型是用户自定义的、由...
在C++程序设计中,自定义类型是编程中不可或缺的一部分,它允许我们创建符合特定需求的复杂数据结构。第七章“自定义类型”主要涵盖了结构体(Struct)、共用体(Union)以及枚举类型(Enumeration)。这些概念是C++...
主要有三种自定义数据类型:结构体(struct)、共用体(union)和枚举(enum)。 1. **自定义数据类型概念**: 自定义数据类型是指用户可以根据自己的需求,将不同基本数据类型(如int、char、float等)组合成新的...
在C语言中,自定义数据类型是一个非常重要的概念,它允许程序员根据实际需求定义新的复合数据类型。在本课件中,主要讲解了C语言中的结构体(struct)、共用体(union)、枚举(enum)以及类型定义(typedef)。这些...
《C语言学习辅导》自定义数据类型章节主要讲解了C语言中的构造数据类型,包括枚举类型(enum)、结构体类型(struct)和联合体类型(union)。这些类型允许程序员自定义复杂的数据结构,以满足特定的编程需求。 ...
枚举(Enum)是C#中一种非常有用的类型,它提供了一种命名整数值的方式,使得代码更具可读性。在自定义控件中,我们可以利用枚举来限制属性的值,这样在使用控件时,用户可以选择预定义的选项,而不是输入任意的字符...
在C语言中,我们可以使用结构体(struct)、共用体(union)和枚举类型(enum)来创建自定义的数据类型。本章节重点讲解了如何声明和使用这些自定义类型。 9.6 节讲述了枚举类型,它是C语言中的一种常量集合,通常用于...
本篇内容主要围绕C++中的三种自定义数据类型展开:结构体(Struct)、共用体(Union)和枚举(Enum),以及它们在实际编程中的应用。 首先,我们来看结构体类型。结构体是一种复合数据类型,它能将多个不同类型的...
在C语言中,用户自定义数据类型允许程序员根据实际需求创建新的数据结构,以更高效地管理和操作数据。本教程主要介绍了三种用户自定义数据类型:结构型(structure)、联合型(union)和枚举型(enumeration)。 **...
教义枚举类型 该软件包提供了一个基本实现,用于定义映射到MyCLabs\Enum\Enum对象的学说实体列类型。 该类在出色的包中定义。安装推荐的安装方法是使用 composer require acelaya/doctrine-enum-type用法此软件包...