考虑下面的代码:'void'究竟做什么?
float temp ;
void setTemperature(float newTemp)
{
temp = newTemp;
}
在这个例子中,使用空隙方法。我的背景是C(不是先进的)。在C中,void意味着一个函数不会返回任何值(我在C中学到的最简单的东西)。但是,在Java中,它似乎更加混乱。创建的方法是void
,它使用在方法外部声明的变量,甚至修改它。 那么,当它是所谓的void
时,该方法如何获取修改它?
考虑下面的代码:'void'究竟做什么?
float temp ;
void setTemperature(float newTemp)
{
temp = newTemp;
}
在这个例子中,使用空隙方法。我的背景是C(不是先进的)。在C中,void意味着一个函数不会返回任何值(我在C中学到的最简单的东西)。但是,在Java中,它似乎更加混乱。创建的方法是void
,它使用在方法外部声明的变量,甚至修改它。 那么,当它是所谓的void
时,该方法如何获取修改它?
void
是该方法的返回类型。一个void
方法可以修改该值而不返回它。
float temp ;
/*Here you are just setting up the value
* the method is not returning anything so
* it should be called like this obj.setTemperature(20.0);
*/
void setTemperature(float newTemp)
{
temp = newTemp;
}
/*Here you are retrieving the value thats why
* While calling you should store the result
* in a variable like this: float num= obj.getTemperature();
*/
float getTemperature()
{
return temp;
}
Void意味着它不返回任何东西。您不能在void
方法中编写return
语句,这意味着您不能编写return x;
,但可以编写return;
。
你可以写一个'return'语句,但表达式必须是空的。 –
@SotiriosDelimanolis是true – 2014-01-05 04:59:59
@SotiriosDelimanolis我已修改答案 – 2014-01-05 05:02:22
在您的例子:
float temp;
void setTemperature(float newTemp)
{
temp = newTemp;
}
这段代码的作用是:
声明一个变量temp
声明的方法setTemperature
用关键字void
,这说的方法将不会返回任何价值。该方法接收参数newTemp
newTemp
到temp
要回答你的问题,关键字void
不具有访问的变量相关,因此只是意味着函数不会返回任何值。
PS:您可能想了解有关Internet上的Java范围。
该字段不是“私人”。它具有默认访问权限。 –
愚蠢的错误,感谢您指出。 – Christian
考虑一下C程序的这个片段。原谅我,如果我做了语法错误 - 这是很多年以来我编程C.
typedef struct {
float value;
} Temperature;
void setTemperatureValue(Temperature *toModify, float newValue) {
toModify->value = newValue;
}
这非常像Java的,你所引用的行。它有一个功能可以完成一些功能,并且不会返回任何内容;字void
用于指示函数不返回任何内容。
在Java中,我们有方法而不是函数,但含义相同。 void
的意思是“这个方法没有返回值,即使它可能做的东西到在传递的参数。
Java没有什么很类似于(void *)
指针在C
这意味着* *正好相同就像它在C中所做的一样。上次我看,C也有变量范围。 –
同一类的方法总是可以访问类变量。 –