2014-10-30 644 views
0

我正在製作機器人足球。 我有4個班「<indentifier>預計」是什麼意思?

  • 遊戲
  • 機器人

Game應該持有的主要方法,但是這是我:

import java.util.*; 

    public class Game{ 
     public Robot; 
     public Ball; 
     public Point; 

     public static void main(String[]args){ 
      Point field= new Point(); 
      Point end = new Point(); 
      field.x=10; 
      field.y=10; 
      end.x=10; 
      end.y=0; 



     } 

    } 

For點我有:

public class Point{ 
    public int x; 
    public int y; 
} 

但在BallRobot我得到一個識別錯誤時II組的球和機器人的對象初始位置: 球:

public class Ball{ 

    class Ball{ 
     Ball fifa= newBall(); 
     Point fifa= newPoint(); 
     int speed=1; 
     fifa.x= 5; 
     fifa.y= 5; 
    } 


    public void moveUp(){ 
     fifa.y=y-1; 

    } 
    public void moveDown(){ 
     fifa.y++; 

    } 
    public void moveLeft(){ 
     fifa.x--; 


    } 
    public void moveRight(){ 
     fifa.x++; 
    } 
} 

機器人:

import java.util.*; 

public class Robot{ 

    class Robot{ 

     Point d= newPoint(); 
     Point e= newPoint(); 
     Robot d= newRobot(); 
     Robot e= newRobot(); 
     int speed=1; 
     d.x = 0; 
     e.x =3; 
     d.y = 1; 
     e.y =5; 
    } 



    public void moveUp(){ 
     d.y=y-1; 
     e.y=y-1; 
    } 
    public void moveDown(){ 
     d.y++; 
     e.y++; 
    } 
    public void moveLeft(){ 
     d.x--; 
     e.x--; 

    } 
    public void moveRight(){ 
     d.x++; 
     e.x++; 
    } 
} 

這是爲什麼?

+0

你'Ball'和'Robot'類的樣子,如果你曾經實例他們,他們可能會爆炸。每個類都持有對自身的一個或多個對象的引用,這些對象將在初次實例化時初始化。這將導致這些對象中的每一個實例化它自己的一組對象,這些對象又將實例化更多的對象,等等......這不會停止,直到你自己殺死程序或者JVM死在一個火熱的OutOfMemoryError中,以較早發生者爲準。不僅如此,你不能隱藏一個嵌套類的封閉類,所以他們甚至不會編譯當前。 – JonK 2014-10-30 10:45:38

回答

3

您尚未給出對象的變量名稱。

變化

public Robot; 
    public Ball; 
    public Point; 

public Robot robot =null; 
    public Ball ball=null; 
    public Poin point =null;