如何正确调用静态方法

时间:2014-09-26 16:49:41

标签: java static static-methods

对于以下代码(我已从上一个问题链接),我被告知要将两个变量(dest_xdest_y)转换为static个变量。我也做了setDest函数static。这很容易。但是,他声明我需要确保从我的Model类中适当调用此函数。究竟是什么方法来做到这一点?我知道静态函数不需要调用对象,但在这种情况下,它将如何工作?

再次感谢,这里是代码的链接。

GUI Making Arrays of Images that Move Using Mouse Event

2 个答案:

答案 0 :(得分:1)

如果setDeststatic的{​​{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 widthint height,为什么方法要求它们?