java自学笔记——枚举类
来源:互联网 发布:查看java进程 编辑:程序博客网 时间:2024/05/21 01:28
1.实例有限且固定的类在java中被称为枚举类
2、枚举类和普通类的区别
(1)枚举类默认继承java.lang.Enum类,而不是Object类,因此枚举类不能显式的继承其它类。java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。
(2)使用enum定义、非抽象的枚举类默认会使用final修改,因此枚举类不能派生出子类。
(3)枚举类的构造器只能使用private访问控制符
(4)枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远不能产生实例,列出这些实例时,系统会自动添加public static final修饰。
3,实现接口的枚举类
package com.algorithm;public interface StudentInterface { public void info();}
package com.algorithm;public enum StudentEnum implements StudentInterface{MALE("男同学"){public void info() {System.out.println("代表男生。。。");}},FEMALE("女同学"){public void info() {System.out.println("代表女生。。。");}};private final String name;public String getName() {return this.name;}//枚举类的构造器只能使用private修饰private StudentEnum(String name){this.name = name;}}如果由枚举类来实现接口里的方法,则每个枚举值在调用该方法时都有相同的行为方式;如果需要每个枚举值在调用该方法时呈现不同的行为方式,则可以让每个枚举值分别实现该方法。如上实例,类似于匿名内部类。
4.包含抽象方法的枚举类
package com.algorithm;public enum OperationEnum {PLUS{public double eval(double x,double y){return x+y;}},MINUS{public double eval(double x,double y){return x-y;}},TIMES{public double eval(double x,double y){return x*y;}},DIVIDE{public double eval(double x,double y){return x/y;}};public abstract double eval(double x,double y);public static void main(String[] args) {for (OperationEnum o : OperationEnum.values()) {System.out.println(o.eval(6, 3));}}}在枚举类中定义抽象方法时不能使用abstract关键字将枚举类定义成抽象类(系统会自动加abstract关键字),而枚举类需要显示的创建枚举值,而不是作为父类,所以定义每个枚举值时必须为抽象方法提供实现。
阅读全文
0 0
- java自学笔记——枚举类
- (JAVA 自学笔记)枚举续
- 自学Java系列 笔记3 枚举、注释
- 黑马程序员——自学笔记9(枚举)
- Java SE 自学笔记9 之 抽象类、接口、内部类、匿名内部类、枚举
- 【JAVA笔记——术】java枚举类使用
- JAVA笔记:枚举类
- java学习笔记23——枚举类
- java笔记(一)——枚举类
- java自学笔记1:java中的类
- java自学笔记————网络编程
- java自学笔记————多线程之死锁;
- Thinking in Java 自学笔记——第一章 对象导论
- Linux自学笔记(一)——java环境配置
- java学习笔记-枚举类
- OC自学笔记—2
- QT自学笔记(—)
- Java培训笔记22--自学异常类
- Verilog中inout的用法(二)
- 笔试面试常考的一些小知识
- 程序员从打字开始
- 蘑菇街-应用平台开发工程师笔试编程题
- 课堂练习1(第四周)
- java自学笔记——枚举类
- ELF与链接
- shell正则表达式
- java模拟12306查询余票
- VI编辑器的简单使用
- Python:用tkinter做的秒表和时钟
- 【LeetCode算法练习(C++)】Container With Most Water
- 实验2:命令行菜单小程序
- 合成复用原则(C++)