首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Kotlin】常用 Kotlin ② ( 枚举 | 枚举定义函数 | 密封 )

都是 枚举 实例对象 ; enum class 枚举类型名 { 枚举常量1, 枚举常量2, ... } 代码示例 : enum class Gender { MALE,...枚举 常量名称 ; MALE true 枚举常量 Gender.MALE 是 Gender 一个 实例对象 ; 二、枚举定义函数 ---- 在枚举中 , 可以 定义函数 , 包括 普通函数...和 构造函数 ; 1、枚举定义普通函数 通过 枚举 类型常量 ( 实例对象 ) 可以 调用 枚举中定义方法 ; 为枚举定义普通函数 : 在枚举 Gender 中定义了 log 函数 ,...---- 枚举类型 是一组 子类型 闭集 ; 密封 可以 定义 枚举类型 子类型闭集 , 一个密封可以有多个子类 , 继承密封子类 必须 与 密封在相同 Kotlin 代码文件中 ; 密封适用于这种情况..., 要使用枚举特性 , 但是需要在枚举基础上保存多个特性 ; 枚举只能实现简单常量列举 , 如果需要更复杂 子类型闭集 , 则需要使用密封 ; 代码示例 : sealed class Gender

1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Java 中枚举使用

枚举类型在 C# C++ 、 java 、 VB 等一些编程语言中是一种基本数据类型而不是构造数据类型。 而在C语言中则是一种构造数据类型。...枚举定义就是指将变量值一一列出来,变量值只限于列举出来范围内,使用枚举可以很方便地定义数据常量、以及我们使用。 02  【为什么需要枚举?】...此外,还可以为不同枚举变量调用不同处理方法(这可以通过实现枚举抽象方法来实现)。...03  【枚举定义和使用】 下面就定义一个试题类型枚举来帮助大家理解:...toString(),name():返回当前枚举变量name属性 ordinal():枚举会给所有的枚举变量一个默认次序,该次序从0开始,是根据我们定义次序来排序

1.6K20

c++枚举类型enum输出_python中枚举

目录: 一.Enum枚举含义: 二.Enum枚举声明(举例说明): 三.Enum枚举特点(举例介绍): 四.Enum枚举作用: 五.Enum枚举注意事项(举例说明): 一.Enum枚举含义:...二.Enum枚举声明(举例说明): 枚举声明方式如下: enum //枚举名称 { enumeration list//写内容也就是枚举包含内容,用逗号隔开 }...打游戏, 看电影, 三国杀 } 三.Enum枚举特点(举例介绍): 枚举内容是一个用逗号分隔开标记符列表; 枚举声明在外部,内部都可以;...默认情况下,第一个枚举符号值是 0; 举例说明: class Program//名 { enum Sss//枚举名 { //枚举内容,用逗号进行隔开列表 吃饭, 睡觉, 打豆豆, 打游戏...运行结果: 四.Enum枚举作用: 枚举可以使代码更易于维护,有助于确保给变量指定合法、期望值; 枚举使代码更清晰,允许用描述性名称表示整数值,而不是用含义模糊数来表示; 枚举使代码更易于键入

1.5K40

Python枚举类型

= 3 RED = 4 上述常量只要赋值为不同量即可,可以为不同数字不同字符串 print(EMP.BLACK) 注意: 这里运行会报错:ImportError: cannot...import name 'Enum' 原因是此文件本身叫做enum.py,这与引包操作产生冲突,需要修改文件名 上述正确打印结果为:EMP.BLACK 如果按一般,打印结果应该为3,但是枚举会打印出本身...继承Enum枚举特点和优势: 对于其他实现枚举方式: 一是直接定义: BLACK = 1 RED = 2 二是使用字典:...,因为这表示两个标签对应同一别,这是允许类似别名概念 此时print(EMP1.RED)会打印出EMP1.BLACK 对于这种类型相同枚举类型,在遍历时只会遍历EMP1.BLACK...in EMP1: print(x) 输出: EMP1.BLACK EMP1.RED 上述将EMP1全部枚举类型都打印出来 枚举类型比较: 限定:同一枚举枚举类型

1.6K30

Java枚举类型

如果类对象数量只有有限个,并且可以确定对象属性,那么考虑使用枚举。...{ // 1.提供枚举对象(枚举常量) common("普通用户", 0), sectionAdmin("板块管理员", 1), superAdmin("超级管理员", 2...当然,构造器只是在构造枚举常量时候被调用。所有的枚举类型都是 Enum 子类。它们继承了这个许多方法。其中最有用一个是 toString() 方法,这个方法能够返回枚举常量名。...(UserType.class, "common"); // 返回枚举常量名称 (Enum 重写了 toString() ) String name = common.toString(...);}枚举实现接口情况一:把枚举当作正常,在中实现接口情况二:每个枚举常量分别实现接口public enum UserType implements UserService { // 1

76650

常量or枚举取舍

——松下幸之助 今天有小伙伴问我枚举和常量区别 首先我们看常量,从Hutool下有个HttpStatus常量 cn.hutool.http.HttpStatus 我们可以看到这里常量,就只是单一值...200还拿到了一个reasonPhrase值为OK 说明 常量只是单一不可修改枚举则是包含了很多常量集合 枚举中一个常量可以包含很多信息 例如这里org.springframework.http.HttpStatus.OK...()); 打印出来则为4 3.枚举构造方法里定义值,例如这里org.springframework.http.HttpStatus#HttpStatus中有两个值 我们如果定义了getter或者取出值方法...()); 4.你甚至可以通过其中一个枚举常量获取其他全部枚举常量,用是Class下getEnumConstants org.springframework.http.HttpStatus[] constants...; } 现在,你总该对常量和枚举取舍有个认识了吧

38910

实体枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以

这种情况下EF 5.0 之前也不例外,都是社区用户强烈要求,在EF5.0版本之后才加入支持实体枚举属性。    ...既然使用枚举还要将实体属性转换下,为何不直接将实体属性定义成枚举类型?    ...结果类型是int ,因为数据库RoleID 列没法定义成枚举类型,如果要将实体属性定义成枚举类型,那么在SqlReader读取时候,必须进行类型转换: user.RoleID=(RoleNames...经过测试,通过这样修改,框架就可以支持实体使用枚举类型了。     为什么修改如此简单?...前面已经说过,PDF.NET实体是数据容器,也就是说,我们在内存中将某个属性值直接设置为枚举类型值,也可以将内存中Int 类型来自数据库值,在运行时转换成枚举类型。

1.6K100

面向对象之this指针与枚举类型

this指针与枚举类型 1.this指针 相信在坐很多人,都在学Python,对于Python来说有self,类比到C++中就是this指针,那么下面一起来深入分析this指针在使用!...(2)this作用域是在内部,当在非静态成员函数中访问非静态成员时候,编译器会自动将对象本身地址作为一个隐含参数传递给函数。...也就是说,即使你没有写上this指针,编译器在编译时候也是加上this,它作为非静态成员函数隐含形参,对各成员访问均通过this进行。...2.枚举类型 有时我们希望某些常量只在中有效。由于#define 定义宏常量是全局,不能达到目的,于是想到实用const 修饰数据成员来实现。...别指望 const 数据成员了,应该用枚举常量来实现。

1.1K10

带抽象方法枚举

,因为该方法有返回值,所以default语句是必须 //但从实际语义来看,因为this代表枚举实例,而枚举实例是固定,...System.out.println(o.eval(1, 2)); } } } package org.lgy.study.enumstudy; /* 枚举里定义抽象方法时不能使用...abstract关键字将枚举定义成抽象(因为系统自动会为它添加abstract关键字),但因为枚举需要显式创建枚举值,而不是作为,所以定义每个枚举值时必须为抽象方法提供实现,否则将出现编译错误...public double eval(double a, double b){ return a / b; } }; //为枚举定义一个抽象方法...//这个抽象方法由不同枚举值提供实现 public abstract double eval(double a, double b); public

807110
领券