使用引用变量而不声明它们??? [来自困惑和缺乏经验的程序员]

时间:2015-11-01 02:34:20

标签: java operators

我对java很陌生。我最近才知道如何创建一个对象并使用Dot运算符,所以我还不是一个经验丰富的程序员...

我在尝试研究java中的对象时从网站获得以下代码:

class Time { 
int hour, minute; 
double second; 

public Time () { 
this.hour = 0; 
this.minute = 0; 
this.second = 0.0; 
} 

public Time (int hour, int minute,     
double second) { 
this.hour = hour; 
this.minute = minute; 
this.second = second; 
} 

public static void main (String[]   
args) { 

// one way to create and initialize  
a Time object 
Time t1 = new Time (); 
t1.hour = 11; 
t1.minute = 8; 
t1.second = 3.14159; 
System.out.println (t1); 

// another way to do the same thing 
Time t2 = new Time (11, 8, 3.14159); 
System.out.println (t2); 
} 
} 

如果您注意到,代码中包含了这个。'参考变量,这是我的观点:如果这是一个完整的源代码,那么在地球上甚至可以使用引用的东西而不声明它们。 如果我错了,请原谅我,但也许它还没有完成。 我很困惑,任何好的解释都会受到赞赏。 感谢您阅读本文,伙计。

1 个答案:

答案 0 :(得分:0)

使用this的方法是构造函数。您可以使用它在Time方法中创建main对象,如下所示:

Time t = new Time();

这将调用第一个构造函数,其中this.hourthis.minutethis.second都引用属于t - t.hour的变量,{{1分别是}和t.minute。构造函数将t.second分配给所有这些变量。第二个构造函数非常相似:

0

这就像上面的例子一样,除了它调用第二个构造函数,将Time t2 = new Time(9, 30, 2.0); 的变量赋给传递给构造函数的参数。在这种情况下,t2设置为t2.hour9设置为t2.minute30设置为t2.second