大神们 能不能帮忙看一下一个问题:
还是关于"this"的
public class Date
{
private int month;
private int day;
private int year;
public Date( int theMonth, int theDay, int theYear )
{
month = checkMonth( theMonth );
year = theYear;
day = checkDay( theDay );
System.out.printf( "Date object constructor for date %s\n", this );
}
public String toString()
{
return String.format( "%d/%d/%d", month, day, year );
}
}
这是一个不完整的程序,我对这部分不是很懂,中间我省略了checkDay() checkMonth()
我也省略了另外一个class里面main()
我就是想知道
1.为什么this知道是指向toString()那个方法的
2.我尝试改变 "toString"这个名字 程序就出错了,难道这个不是一个可以任意定义的方法名字吗?
3.我如果给这个程序里面再加一个类似toString的方法,也是返回String,我尝试了
public String apple()
{
return ......
}
结果this 还是指向的是toString 他怎么知道的?
4.我加入什么方法会改变this 的指向 谢谢!!!!
|
|