关闭

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

114人阅读 评论(0) 收藏 举报

---------------------- 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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6401次
    • 积分:222
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论