2014-09-26 3 views
0

다음 코드 (이전 질문에서 연결 한 것)에 대해 static 변수에 두 개의 변수 (dest_xdest_y)를 작성해야합니다. 또한 setDest 기능을 static으로 만들었습니다. 이것은 쉬웠다. 그러나 그는이 함수가 내 Model 클래스에서 적절하게 호출되는지 확인해야한다고 말합니다. 정확히 이것을하는 적절한 방법은 무엇입니까? 정적 함수는 객체를 호출 할 필요가 없다는 것을 이해합니다. 그러나이 상황에서 어떻게 작동합니까?정적 메서드를 적절하게 호출하는 방법

다시 한 번 감사드립니다. 코드 링크가 있습니다. setDestTurtlestatic 방법 인 경우

GUI Making Arrays of Images that Move Using Mouse Event

+0

좀 더 압축 된 코드를 만들어 볼 수 있습니까? – Claudio

+0

예제를 보았습니까? 체크 아웃 할 수있는 많은 문서 및 코드 기반이 있습니다. – proulxs

+1

코드의 현재 상태를 정확한 질문과 함께 게시하는 것이 가장 좋습니다. – user1803551

답변

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); 
    }  
} 

각 거북이의 목적지를 별도로 설정합니다. setDeststatic를 선언하는 경우, 컴파일러는 타입 거북이에서

정적 방법 setDest이 (INT, int, int, int)에 정적 방법

에 액세스해야 함을 경고한다 (강조 광산). 정적 방식으로 액세스 방법

의미하면해서는 안 오브젝트에서 메소드 호출을 호출 오히려 클래스 (사용자가 위 참조로 할 수 있지만)

public void setDestination(int x, int y, int width, int height) { 

    Turtle.setDest(x, y); 
} 

측 참고로서 인수 int widthint height은 사용되지 않으므로 메소드가 요청하는 이유는 무엇입니까?

+0

고마워! 그것은 매우 도움이되었습니다. 실제로 컴파일러에서 경고를 받았습니다. 나는 그것을 언급하려고했다. 내 선생님이 실제로이 코드를 작성 했으므로 내 방법에서 왜 방법을 요구하는지 잘 모르겠습니다. 그러나 나중에 어떤 이유로 든 도움이 될 수 있다고 생각합니다. 나는이 시점에서 임무를 수행하는 길의 일부일뿐입니다. 정말 고마워. – GiH

1

, 당신은 예를 들어, 클래스 이름을 사용하여이 아닌 특정 인스턴스를 통해 부를 것이다 :

Turtle.setDest(x, y); 
+0

도움 주셔서 감사합니다. :) – GiH

관련 문제