这只是方法参数的声明而已,不是定义。就好象 void f(Object o) 里的Object o 一样。
your given code have some problem or not completely. Because "time2 time" expect a time2 class in time2 class's constractor.your can add a new constractor lick this: public class time2 { private int hour; private int minute; private int second;
//Add a constractor public time2(int h,int m,int s){ hour=h;minute=m;second=s; }
public time2(time2 time) { settime(time.hour,time.minute,time.second); } public void setttime(int h,int m,int s) { ...... } }
源码是这样的,是方法重载的例子...class time2 { int hour; int minute; int second; public time2(int h,int m,int s) { settime(h,m,s); } public time2(int h) { settime(h,0,0); } public time2(time2 time) { settime(time.hour,time.minute,time.second); } public void settime(int h,int m,int s) { hour = ((h>=0 && h<24)?h:0); minute = ((m>=0 && m<60)?m:0); second = ((s>=0 && s<60)?s:0); } public String toUniversalString() { return hour+":"+minute+":"+second; } public static void main(String args[]) { time2 t1 = new time2(55,34,11); time2 t2 = new time2(t4); time2 t3 = new time2(2); System.out.println(t1.toUniversalString()); System.out.println(t2.toUniversalString()); System.out.println(t3.toUniversalString()); } }
参数time指定time2为它的类型,使用方式和java的内嵌类型一样
那在这个程序中,time.hour,time.minute,time.second的值是多少呢
t4 not instanced~ the code still have mistake.
这段代码是从书上弄的, public time2(time2 time) 是一个构造方法 那time2 time是什么意思呢?
time2 class in time2 class's constractor.your can add a new constractor lick this:
public class time2
{
private int hour;
private int minute;
private int second;
//Add a constractor
public time2(int h,int m,int s){
hour=h;minute=m;second=s;
}
public time2(time2 time)
{
settime(time.hour,time.minute,time.second);
} public void setttime(int h,int m,int s)
{
......
}
}
{
int hour;
int minute;
int second; public time2(int h,int m,int s)
{
settime(h,m,s);
} public time2(int h)
{
settime(h,0,0);
} public time2(time2 time)
{
settime(time.hour,time.minute,time.second);
} public void settime(int h,int m,int s)
{
hour = ((h>=0 && h<24)?h:0);
minute = ((m>=0 && m<60)?m:0);
second = ((s>=0 && s<60)?s:0);
} public String toUniversalString()
{
return hour+":"+minute+":"+second;
} public static void main(String args[])
{
time2 t1 = new time2(55,34,11);
time2 t2 = new time2(t4);
time2 t3 = new time2(2); System.out.println(t1.toUniversalString());
System.out.println(t2.toUniversalString());
System.out.println(t3.toUniversalString());
}
}
public time2(time2 time)
是一个构造方法
那time2 time是什么意思呢?
程序看的时间长了就懂了...
time2 time就是定义一个对象
然后,在调用时,用另外一个对象作为参数传递...
大家说是这样吗?