黑马程序员之枚举
来源:互联网 发布:阿坝州 农村淘宝 编辑:程序博客网 时间:2024/05/17 06:52
---------------------- android培训、java培训、期待与您交流! ----------------------
终于可以有更多的时间去学习了,这样就可以尽早的去完成基础的学习了,为了学习是可以放弃一些东西的,希望会更好,加油!
枚举也是1.5之后的新特性:
感觉有好多基础只是可以回顾,而这一块又比较熟悉,因此学起来比较容易,不管怎么样都要认真的去学习回顾,学无止境!老师的讲解让我意识到不管什么都要学深入,否则不会有很大的前途的
首先用普通类来实现枚举功能:关键代码如下:
public class WeekDay{
private WeekDay(){
public final static WeekDay SUN=new WeekDay();
public final static WeekDay MON=new WeekDay();
pubic WeekDay nextDay(){
if(this==SUN)
{
return MON;
}else{
return SUN;
}
}
}
}打印枚举的时候必须要由设计枚举类的人提供toString()方法具体代码:
public String toString(){
return this==SUN?”SUN”:”MON”;
}
还有一种方法实现nextDay()方法:(每个对象都自己写方法)
public final static WeekDay SUN=new WeekDay(){
pubic WeekDay nextDay(){
return SUN;
}
};
利用内部类来实现每个对象的内容的具体实现:那么WeekDay必须是抽象的,然后创建一个WeekDay的子类对象去实现,在类前加abstract修饰
那么什么是枚举呢?
总结:私有的构造方法
每个元素分别用一个共有的静态成员变量表示public final static
可以有若干共有方法或抽象方法,
枚举:枚举就是我自己规定自己的类型,以后用类型定义的值必须是我自己提前规定的值,否则编译器不让过。在编译源程序时就会检查你的值是否合法
下面是一个枚举:public enum WeekDay{
SUN,MON,TUE,WED,THT,FRI,SAT;
}
枚举就相当于类
里面的成员就是类创建的实例对象而且实现了toString()方法
如果我们要迭代枚举:我们要得到枚举的数组长度values().length
带有构造方法的枚举:
1. 元素列表位于类的最前面,加分号
2. 构造方法必须是私有的默认调用的都是无参的构造方法
3. 如果在后面加上参数那么就是调用的有参的构造方法
带有抽象方法的枚举:
Public enum TrafficLamp{
RED{ public abstract TrafficLamp nextLamp(){
return GREEN;
}
},GREEN{
public abstract TrafficLamp nextLamp(){
return YEEOW;
}
},YELLOW{ public abstract TrafficLamp nextLamp(){
return RED;
}
};
}
枚举是抽象类,每个元素都是有子类创建的,子类都是匿名的
如果加上时间就要重载构造方法
RED(120){ public abstract TrafficLamp nextLamp(){
return GREEN;
}
总结://类的方法返回的类型可以是自己的类型,类中可以定义静态常量,常量指向的结果就是自己类型的实例对象;子类的实例对象调用父类有参的构造方法用RED引用名称去引用对象
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
- 黑马程序员之枚举
- 黑马程序员---高新技术之枚举
- 黑马程序员---高新技术之枚举
- 黑马程序员----高新技术之 枚举
- 黑马程序员Java类之枚举(Enum)
- 黑马程序员-复习笔记之枚举
- 黑马程序员_高新技术之枚举
- 黑马程序员_Java高新技术之枚举
- 【黑马程序员】C#之常量枚举
- 黑马程序员---java高新技术之枚举
- 黑马程序员_java基础加强之枚举
- 黑马程序员Java知识回顾之枚举
- 黑马程序员技术博客之枚举
- 黑马程序员之Java--枚举类型
- 黑马程序员_java高新技术之枚举
- 黑马程序员-JAVA基础之枚举
- 黑马程序员——Java之枚举
- 《黑马程序员》枚举复习
- java学习_2.数据类型
- java学习_3.原生数据类型使用陷阱
- 动态改变帧的位置
- WMP 快捷键
- 2011金融考博经验谈(上交安泰金融篇)【zz】
- 黑马程序员之枚举
- Use Maven3 with the local jar packages
- sp_addsegment the specified device is not a database device
- 20个优秀的Javascript导航菜单实现技巧及实例
- javascript函数function学习【javascript高级程序设计】
- c++ const: const 变量, const 输入参数, const 返回值, const 成员函数
- 使用UNICODE集应该注意的若干问题
- 打印DataGridView中的内容
- Servlet,Listener和Filter 获取ServletContext (application上下文环境)