Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在类2中的方法中使用类1中的方法_Java_Eclipse - Fatal编程技术网

Java 在类2中的方法中使用类1中的方法

Java 在类2中的方法中使用类1中的方法,java,eclipse,Java,Eclipse,我有一个任务(用java编写),它在接口以及如何和在何处实现各种东西方面非常具体。我知道有人问了很多类似的问题,但我似乎无法将它们与我的问题联系起来 我必须实现的类是 public class Algorithm<G extends Game<M>, M extends Move> implements AIp<M> someList没有在游戏中实现。就我理解你的概念而言,我认为你可以简单地在Game类中声明Board对象的getter方法,并在G中实现它

我有一个任务(用java编写),它在接口以及如何和在何处实现各种东西方面非常具体。我知道有人问了很多类似的问题,但我似乎无法将它们与我的问题联系起来

我必须实现的类是

 public class Algorithm<G extends Game<M>, M extends Move>
implements AIp<M>

someList没有在游戏中实现。

就我理解你的概念而言,我认为你可以简单地在
Game
类中声明
Board
对象的getter方法,并在
G
中实现它

class G 
{
...
    public Board getBoard() 
    {
        return theBoardYouCreatedInG;
    }    
}
如果您已经有了
G
对象,那么只需在
算法的构造函数中提供它即可。然后您只需使用
G
对象及其getter方法来获取
Board
对象

public class Algorithm<G extends Game<M>, M extends Move> implements AIp<M>
{

    G g;

    public Algorithm(G g) 
    {
        this.g = g;
    }

    public someMethod()
    {
         g.someMethodFromG();
         g.getBoard().someMethodFromBoard();
    }


}
公共类算法实现AIp
{
G;
公共算法(G)
{
这个.g=g;
}
公共方法()
{
g、 someMethodFromG();
g、 getBoard().someMethodFromBoard();
}
}
编辑: 如果希望以这种方式使用代码,则需要在
游戏中实现getBoard()。如果这是不可能的,那么我猜您必须在构造函数中提供
Board
对象(就像您对G对象所做的那样)


G不应该是一个真正的类,它是一些类的类型参数,稍后您将指定(在本例中,任何实现
Game
)的类),如果您想使用
G
的方法,它们需要在
Game
中声明,这正是我所寻找的。非常感谢!等待我没有G对象。我确实在G中创建了一个Board对象。因此使用G.getBoard().someBoardMethod()不起作用。g、 但是someMethodFromG()是。添加
g
对象不是一个选项,因为算法必须是通用的,而不是特定于
g
或游戏连接四。例如,您必须能够使用它玩井字游戏。
g
object在这里表示任何
游戏
对象。如果你想玩tic-tac-toe,那么你应该拥有继承自
Game
TicTacToe
类,对吗?好的,但是第二个代码部分的第四行不应该初始化
Game g而不是
G然后呢?
public class Algorithm<G extends Game<M>, M extends Move> implements AIp<M>
{

    G g;

    public Algorithm(G g) 
    {
        this.g = g;
    }

    public someMethod()
    {
         g.someMethodFromG();
         g.getBoard().someMethodFromBoard();
    }


}