【Java】JAVA枚举类型
2015-08-31 21:54
591 查看
JDK 5新增了enum关键字可用于定义一个枚举类。可以把相关常量写在一个类里。
如下代码:
class TestClass {
private TestClass(){}//定义私有构造函数,不能从外部实例化对象
//提供两个实例A、B
public static final TestClass A=new TestClass();
public static final TestClass B=new TestClass();
}
可以用枚举类型代替:
enum TestClass01{
A,B;
}
用法:
一个枚举也可以有构造函数、字段和方法:
enum TestClass02{
A("a") //建立对象时传入构造函数参数
,B("b");
private String value;
private TestClass02(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
枚举也可以有抽象方法:
enum TestClass03{
A(){
//实现抽象方法
public void type(){
System.out.println("优");
}
}
,B(){
public void type(){
System.out.println("良");
}
};
public abstract void type();//定义抽象方法
}
测试方法:
public class Test02 {
public static void main(String[] args){
print(TestClass02.A);//传入枚举参数
}
public static void print(TestClass02 t){
System.out.println(t.getValue());
}
enum TestClass02{
A("a")
,B("b");
private String value;
private TestClass02(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
}
运行结果:a
Author:事始
Sign:只要你还在尝试,就不算失败。
如下代码:
class TestClass {
private TestClass(){}//定义私有构造函数,不能从外部实例化对象
//提供两个实例A、B
public static final TestClass A=new TestClass();
public static final TestClass B=new TestClass();
}
可以用枚举类型代替:
enum TestClass01{
A,B;
}
用法:
一个枚举也可以有构造函数、字段和方法:
enum TestClass02{
A("a") //建立对象时传入构造函数参数
,B("b");
private String value;
private TestClass02(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
枚举也可以有抽象方法:
enum TestClass03{
A(){
//实现抽象方法
public void type(){
System.out.println("优");
}
}
,B(){
public void type(){
System.out.println("良");
}
};
public abstract void type();//定义抽象方法
}
测试方法:
public class Test02 {
public static void main(String[] args){
print(TestClass02.A);//传入枚举参数
}
public static void print(TestClass02 t){
System.out.println(t.getValue());
}
enum TestClass02{
A("a")
,B("b");
private String value;
private TestClass02(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
}
运行结果:a
Author:事始
Sign:只要你还在尝试,就不算失败。
相关文章推荐
- Java连接SQLite数据库
- Java 多线程 并发编程
- Java智力题
- java的匿名内部类
- 【Java】JAVA反射机制
- 【JavaSE】day10_对象流
- Eclipse 修改编码方式
- Java之美[从菜鸟到高手演变]之设计模式
- JDK环境配置
- Hadoop学习笔记(十六)---HBase JAVA API
- JavaSE增强之反射
- Java多线程编程总结
- Spring.Net 初探之牛刀小试
- Java导论(一)
- java环境变量
- TPC-W安装与配置(威斯康星大学Java版)
- java学习笔记之面向对象
- Struts2系列-Struts2简介和原理
- JAVA语言中数组的冒泡排序方法
- Java- 基础类