不过要写的话,可以这样设计: class Week{ private int flag; ... public void setFlag(int i) { flag = i; } public String toString() { if(flag ==1) return "Friday"; .... } }class SolarCalendar{ public Week toWeek(){week.setFlag(1)} ... public static void main(){ System.out.println(toWeek()); // print Friday } }
不过确实设计有问题,楼主可以试一下 public interface Week{ public String printOut(); } public class ChWeek extends Week{ public String printOut(){}} public class EnWeek extends Week{ public String printOut(){}} 然后在class LunarCalendar{ private Week week=new ChWeek(); 最后直接调用week.printOut(); }
class Week{
private int flag;
...
public void setFlag(int i)
{
flag = i;
}
public String toString()
{
if(flag ==1)
return "Friday";
....
}
}class SolarCalendar{
public Week toWeek(){week.setFlag(1)}
...
public static void main(){
System.out.println(toWeek());
// print Friday
}
}
public interface Week{
public String printOut();
}
public class ChWeek extends Week{
public String printOut(){}}
public class EnWeek extends Week{
public String printOut(){}}
然后在class LunarCalendar{
private Week week=new ChWeek();
最后直接调用week.printOut();
}