java基础 java中枚举的应用 抽象方法问题
package com.swift.meiju;
import org.junit.Test;
public class Demo{
@Test
public void test() {
System.out.println(Meiju.C.getScore());
}
}
上面测试,用了Junit
下边枚举
package com.swift.meiju;
import org.junit.Test;
public enum Meiju {
//考试分数A B C D E 五个等级
A("90~100"),B("80~89"),C("70~79"),D("60~69"),E("0~59");
private String score;
private Meiju(String score) {
this.score=score;
}
public String getScore() {
return this.score;
}
}

枚举是什么?
相当于
package com.swift.meiju;
public class Enumer {
private Enumer() {}
public static final Enumer A=new Enumer();
public static final Enumer B=new Enumer();
public static final Enumer C=new Enumer();
public static final Enumer D=new Enumer();
public static final Enumer E=new Enumer();
}
有点像单例模式,只造出一个对象供外界使用;这个枚举一下造出好多个供使用,造出的对象不能改变
枚举出来的ABCDE都是可以用类名.直接调用的对象,对象可以赋值,和调用其成员方法
枚举中的对象 都是 public static final 确可以有abstract的方法 ,应该算是抽象类,可又实例化了,逻辑上都是到处都是冲突的,真是骚包的家伙
package com.swift.meiju;
import org.junit.Test;
public enum Meiju {
//考试分数A B C D E 五个等级
A("90~100") {
@Override
public String getTxt() {
return "优";
}
},B("80~89") {
@Override
public String getTxt() {
return "良";
}
},C("70~79") {
@Override
public String getTxt() {
return "中";
}
},D("60~69") {
@Override
public String getTxt() {
return "及格";
}
},E("0~59") {
@Override
public String getTxt() {
return "差";
}
};
private String score;
private Meiju(String score) {
this.score=score;
}
public String getScore() {
return this.score;
}
public abstract String getTxt();
}
Junit 测试
package com.swift.meiju;
import org.junit.Test;
public class Demo{
@Test
public void test() {
System.out.println(Meiju.C.getTxt());
}
}

java基础 java中枚举的应用 抽象方法问题的更多相关文章
- Java基础教程:枚举类型
Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...
- Java基础(中)
面向对象基础 面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同: 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题. 面向对象会先抽象出对象,然后用对象执行方法的方式 ...
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
随机推荐
- (转)python 集合,列表,元组,字符串,文件等操作总结
原文:http://www.cnblogs.com/songqingbo/tag/python%E5%87%BD%E6%95%B0/
- Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP解决办法
在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp ...
- Http Client 源码分析
/** * 此接口仅代表HTTP请求执行的最基本约定. * 它对请求执行过程没有任何限制或特定的细节,并将状态管理.身份验证和重定向处理的细节留给单个实现. */ public interface H ...
- 如何结合后台数据库 启动vue项目
一:连接数据库 1. 点击打开后输入密码 2.查看数据库 show databases; 3.创建数据库 create database jd; 删除数据库 drop database jd; 4.使 ...
- spring整合web的ssh(springMVC、hibernate)
1. tomcat启动时,加载配置文件,将bean装在 导入jar包spring-web..jar 2.确定配置文件位置 3.spring整合hibernate <!-- 加载hibernate ...
- log4j.dtd
<?xml version="1.0" encoding="UTF-8" ?> <!-- Licensed to the Apache Sof ...
- Windows之CMD查看系统信息
Windows 系统通过命令行(CMD)查询系统信息有两种方式: 1.图形化界面: 在“运行”中键入CMD,然后输入 dxdiag,回车后弹出图形化界面 ------ DirectX 诊断工具. 2. ...
- struts2 中使用DMI(动态调用方法)方式配置action
1.使用 "!"方式,即 action名称 ! 方法名称 struts.xml 配置 <package name="user" namespace=&qu ...
- MongoDB详解
一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 1.易用性 1)MongoDB是一款面向文档的数据库,而不是关系型数据库,因此而有着更好的扩展性. 2)通过在文档中嵌入文档和数组, ...
- Office加载项
出自我的个人主页 Alvin Blog 前言 前一段时间公司做了有关Excel 加载项的开发,也遇到了很多坑,所以在此记录一下,有两个原因,1.留给以后在用到加载项的时候,复习所用,避免 跳进同一个坑 ...