newlaw2013的专栏

IT java Android 手机应用平台 学习之路

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

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

阅读更多
想对作者说点什么? 我来说一句

【黑马】ssm综合练习

2018年03月16日 68B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭