2013-09-11 3 views
4

자바가 내 생성자를 찾지 못하는 것처럼 보입니다. 무엇이 잘못 됐는지 알지 못합니다. InterruptedException이 발생하는 데 문제가 있습니까? 어떤 도움을 주시면 감사하겠습니다.자바가 내 생성자를 인식하지 못합니다.

package gameloop; 

    import javax.swing.*; 

    public class GameLoop extends JFrame { 
     private boolean isRunning; 
     public int drawx = 0; 
     public int drawy = 0; 

     public void GameLoop() throws InterruptedException{ 
      setSize(700, 700); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setLocationRelativeTo(null); 
      setVisible(true); 

      while(isRunning){ 
       doGameUpdate(); 
       render(); 
       Thread.sleep(1); 
       if (isRunning){ 
        GameLoop(); 
       } 
      } 
     } 

     private void doGameUpdate() { 
      GameUpdate GU = new GameUpdate(); 
     } 

     private void render() { 
      Draw dr = new Draw(); 
     } 

     public static void main(String[] args) { 
      GameLoop GL = new GameLoop(); 
     } 
    } 
+6

'void'를 제거하십시오. 생성자에는 반환 유형이 없습니다. –

+0

또한 업데이트/렌더 루프에서 생성자의 업데이트/렌더링 루프를 이동하여 자체 함수로 옮기고 업데이트/렌더링 루프에서 무한 재귀를 제거해야합니다. –

답변

6

생성자의 이름은 해당 클래스와 완전히 동일하며 반환 유형이 없습니다. 반환 유형 (void까지)을 제공하는 경우 GameLoop이라는 메서드를 만듭니다. 당신이 찾고있는 무슨 당신은 public GameLoop() 생성자는 반환 형식이없는 필요

public GameLoop() 

보다는

public void GameLoop() 
3

입니다

생성자 아니다
+0

초기 도움을 제공해 주셔서 감사합니다! 나는 창문이 나타나기 시작했지만, 이제는 새로운 오류가 발생합니다. 그리기 및 업데이트 클래스에서 "public class draw는 GameLoop을 확장합니다"및 "public class GameUpdate"라인 모두. – user2766847

+0

새 질문을 만드는 것이 가장 좋습니다. –

4

- 이것이다 :

public GameLoop() throws InterruptedException 

생성자에는 반환 유형 ()을 사용할 수 없습니다.), 코드를 추가하면 Java가 정상적인 메소드로 해석합니다. 클래스와 정확히 동일하게 호출됩니다.

3

생성자에 반환 유형이 있으므로 다른 방법으로 처리됩니다.

관련 문제