Min*_*hen 3 java abstract-class
我试图从另一个包中的抽象类Sprite调用一个方法,但我得到了"方法getSymbol()未定义为Sprite类型"
这是代码.
这是来自另一个包精灵的代码
我想问题是抽象类中的方法无法实例化.
但我不知道如何解决它.
Jon*_*eet 10
这就是问题:
public class ArrayGrid<Sprite> implements Grid<Sprite>
Run Code Online (Sandbox Code Playgroud)
您声明类的方式Sprite是类型参数的名称.你已经把它变成了一个普通的类,我怀疑你不是故意的.在该类中,Sprite指的是类型参数,而不是类型 - 所以你可以有一个ArrayGrid<String>实现的Grid<String>......在这一点上你有一个字符串数组而不是一个精灵数组,所以难怪它getSymbol()不起作用,就像问题的一个症状一样.
我怀疑你只是想要:
public class ArrayGrid implements Grid<Sprite>
Run Code Online (Sandbox Code Playgroud)
那时,Sprite真的是指类型.这意味着您可以避免使用无法解决数组的代码,而只需编写:
this.grid = new Sprite[numRows][numColumns];
Run Code Online (Sandbox Code Playgroud)
然后没有必要压制警告:)