黑马程序员_WeekDay 枚举代码练习

原创 2012年03月30日 22:24:44

---------------------- android培训java培训、期待与您交流! ----------------------

/*
·用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能。
-私有的构造方法
-每个元素分别用一个公有的静态成员变量表示
-可以有若干公有方法或抽象方法,例如,要提供nextDay方法必须是抽象的。
采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类。
*/
/*
英文,简写,中文
Monday,Mon,星期一
Tuesday,Tue,星期二
Wednesday,Wed,星期三
Thursday,Thu,星期四
Friday,Fri,星期五
Saturday,Sat,星期六
Sunday,Sun,星期日
*/
abstract class WeekDay 
{
//1.私有的构造方法
private WeekDay(){}
//2.每个元素分别用一个公有的静态成员变量表示
public final static WeekDay MON = new WeekDay(){
public WeekDay nextDay(){
return TUE;
}
};

public final static WeekDay TUE = new WeekDay(){
public WeekDay nextDay(){
return WED;
}
};
public final static WeekDay WED = new WeekDay(){
public WeekDay nextDay(){
return THU;
}
};

public final static WeekDay THU = new WeekDay(){
public WeekDay nextDay(){
return FRI;
}
};
public final static WeekDay FRI = new WeekDay(){
public WeekDay nextDay(){
return SAT;
}
};
public final static WeekDay SAT = new WeekDay(){
public WeekDay nextDay(){
return SUN;
}
};
public final static WeekDay SUN = new WeekDay(){
public WeekDay nextDay(){
return MON;
}
};
public String toString(){
String day = "Monday";

if (this==TUE)
{
day = "Tuesday";
}
else if (this==WED)
{
day = "Wednesday";
}
else if (this==THU)
{
day = "Thursday";
}

else if(this==FRI)
{
day = "Friday";
}
else if (this==SAT)
{
day = "Saturday";
}
else if (this==SUN)
{
day = "Sunday";
}
return day;
}
/*
if(this==MON){
return "Monday";
}
*/
abstract public WeekDay nextDay();
         public static void main(String[] args)
{
showday(WeekDay.TUE);
}
public static void showday(WeekDay weekDay)
{
WeekDay temp = weekDay;
for(int i=0 ;i < 7;i++){
temp = temp.nextDay();
System.out.println(temp);
}

}
}
class Student
{
private String name;
private int age;
private static String log ="log";
Student(){}

public String getName(){
return this.name;
}
public void method1(){
System.out.println("method1");
}

public void method2(){
//在方法里面访问类成员属性
String result = this.name;
//在方法里面访问成员方法
method1();

//非静态的方法,可以访问类中的所有成员,包括静态和非静态的,在这里举例:非静态方法访问静态方法(即调用静态方法)
method3();
}
//静态方法只能访问类中的静态成员变量和静态的成员方法
public static void method3(){
System.out.println(log);
}
}

---------------------- android培训java培训、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/heima

黑马程序员——Java基础---练习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础---练习题 1.写出程序结果class Demo { public stat...
  • liu007004
  • liu007004
  • 2015年01月19日 16:35
  • 703

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1431

java枚举练习

package carddemo; class Card { private Cardtype cardtype; private Rank rank; private Color color...
  • why200981317
  • why200981317
  • 2014年03月05日 18:25
  • 819

黑马程序员训练营:枚举

一、枚举的概念对于某些事物,比如星期一到星期日的一组符号序列,可以用简单数据类型描述它们。但这会产生问题,因为简单数据类型的运算能力并不适用它们,所以额外的权限在程序中将可能产生额外的问题。另一方面,...
  • zybzyb1987
  • zybzyb1987
  • 2011年04月09日 22:09
  • 668

黑马程序员——枚举类

线程间的通信 线程间通信-等待唤醒机制 wait(),notify(),notifyAll(),都使用在同步中,因为要对持有监视器(锁)的线程操作。 ...
  • Johnny_1314
  • Johnny_1314
  • 2014年06月27日 20:42
  • 321

黑马程序员——枚举功能及演示

枚举(JDK1.5): 为什么要有枚举:在定义一个星期的星期几、一个人的性别的时候为了避免在编写源程序的时候出现星期八,性别Female/Mele等非法变量值的出现 用普通类实现枚举功能:1、私有的构...
  • u013610441
  • u013610441
  • 2014年03月12日 23:58
  • 513

HIVE实战:官方案例练习

测试文件下载 本案例来自hive官方文档 需求:一份有关观看电影的日志(u.data),有10W条数据,分析出一周内那天观影人数多 1、创建原表 CREATE TABLE u_data (...
  • qq_34764487
  • qq_34764487
  • 2017年10月06日 11:44
  • 80

编写一个关于星期几的枚举WeekDay

要求:1:枚举值:MON   TUE   WED   THD   FRI   SAT   SUN     2:该枚举要有一个方法,调用该方法返回中文格式的星期。 import org.junit....
  • w19960811
  • w19960811
  • 2017年10月16日 17:26
  • 125

java学习之路 之 枚举&注解-枚举类及练习题

枚举类 JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义 枚举类若枚举只有一个成员, 则可以作为一种单例模式的实现方式 枚举类的属性: 枚举类对象的属性不应允许被改...
  • OnlyLove_longshao
  • OnlyLove_longshao
  • 2016年08月16日 23:16
  • 1422

黑马程序员------50道JAVA基础编程练习题

------- android培训、java培训、期待与您交流! ---------- 50道JAVA基础编程练习题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对...
  • a768818702
  • a768818702
  • 2015年11月06日 14:18
  • 7287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员_WeekDay 枚举代码练习
举报原因:
原因补充:

(最多只允许输入30个字)