public class Weekday{
public final static Weekday SUN= new Weekday();
public final static Weekday MON= new Weekday();
public final static Weekday TUS= new Weekday();
public final static Weekday WED= new Weekday();
public final static Weekday THS= new Weekday();
public final static Weekday FRI= new Weekday();
public final static Weekday SAT= new Weekday();
public class Weekday{
public final static Weekday SUN= new Weekday(){
@Override
public Weekday(){ return MON;}};
public final static Weekday MON= new Weekday(){
@Override
public Weekday(){ return TUS;}};;
public final static Weekday TUS= new Weekday(){
@Override
public Weekday(){ return WED;}};;
public final static Weekday WED= new Weekday(){
@Override
public Weekday(){ return THS;}};;
public final static Weekday THS= new Weekday(){
@Override
public Weekday(){ return FRI;}};;
public final static Weekday FRI= new Weekday(){
@Override
public Weekday(){ return SAT;}};;
public final static Weekday SAT= new Weekday(){
@Override
public Weekday(){ return SUN;}};;
private Weekday(){}
public abstract Weekday getNextDay();
}
//main()
Weekday day = Weekday.SUN;
day = day.getNextDay();