对于以下代码(我已从上一个问题链接),我被告知要将两个变量(dest_x
和dest_y
)转换为static
个变量。我也做了setDest
函数static
。这很容易。但是,他声明我需要确保从我的Model
类中适当调用此函数。究竟是什么方法来做到这一点?我知道静态函数不需要调用对象,但在这种情况下,它将如何工作?
再次感谢,这里是代码的链接。
答案 0 :(得分:1)
如果setDest
是static
的{{1}}方法,则可以使用类名而不是通过特定实例来调用它,例如:
Turtle
答案 1 :(得分:0)
您的Model
班级
public void setDestination(int x, int y, int width, int height) {
for(int i = 0; i <3; i++)
{
t[i].setDest(x, y);
}
}
分别设置每只乌龟的目的地。如果setDest
被声明为static
,则编译器应警告您
来自Turtle类型的静态方法setDest(int,int,int,int)应该以静态方式访问
(强调我的)。
以静态方式访问方法意味着你不应该(尽管你可以如上所述)从一个对象调用方法调用,而是从类中调用:
public void setDestination(int x, int y, int width, int height) {
Turtle.setDest(x, y);
}
作为旁注,不使用参数int width
和int height
,为什么方法要求它们?