- public class WeekDay {
- private WeekDay(){//私有构造函数
-
- }
- //定义星期的静态变量
- public final static WeekDay SUN=new WeekDay();//星期日常量
- public final static WeekDay MON=new WeekDay();
- public final static WeekDay TUE=new WeekDay();
- public final static WeekDay WED=new WeekDay();
- public final static WeekDay THU=new WeekDay();
- public final static WeekDay FN=new WeekDay();
- public final static WeekDay SAT=new WeekDay();
- //获取下一天的方法
- public WeekDay nextDay(){//通过分支语句来实现
- if(this==SUN){
- return MON;
- }
- else if(this==MON){
- return TUE;
- }
- else if(this==TUE){
- return WED;
- }
- else if(this==WED){
- return THU;
- }
- else if(this==THU){
- return FN;
- }
- else if(this==FN){
- return SAT;
- }
- else{
- return SUN;
- }
- }
- //重载toString方法
- public String toString(){
- if(this==SUN){
- return "星期日";
- }
- else if(this==MON){
- return "星期一";
- }
- else if(this==TUE){
- return "星期二";
- }
- else if(this==WED){
- return "星期三";
- }
- else if(this==THU){
- return "星期四";
- }
- else if(this==FN){
- return "星期五";
- }
- else{
- return "星期六";
- }
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //WeekDay today=new WeekDay();//能否使用这句话实例化对象,我没有看明白,大神给说的详细一点?
- WeekDay today=WeekDay.SUN;
- System.out.println(today.nextDay());
- }
- }
- /*
- 代码分析:1.上述的无参构造函数之所以是私有修饰符(private),是因为不允许自己创建该类的对象,
- 当想使用WeekDay类的对象时,则必须使用该类里自己定义的对象,对于这些对象,可以
- 用公有的静态成员变量
- 2.为了便于操作WeekDay类的对象,还定义了两个方法,即用来获取实现下一天的nextDay()
- 方法和toString()方法。
- 3.当创建星期WeekDay的对象时,只能是该类中已经定义好的类对象,即只能是SUN,MON,TUE
- WED,THU,FN,SAT对象中的一个。如果为其他对象,则会报错。
- */
复制代码
|
|