我有玩家类和敌人类,它们都已经扩展了一个游戏类(libgdx)。现在我可以看到玩家和敌人类共享很多公共代码,我可以做一个抽象并将所有必要的代码放在那里,但是玩家类已经从游戏扩展到了敌人类。
玩家和敌人的职业都有其他职业也会调用的方法。
球员级别
public class Player extends Game{
@Override //from Game_Class
public void create () {
batch = new SpriteBatch();
Model = new Texture("Player.png");
}
public World getWorld() {
//common code
}
public Body getBody () {
//common code
}
//A lot of common methods ...
public void updateScore() {
//not common code
}
}
敌方阶级
public class Enemy extends Game{
@Override //from Game_Class
public void create () {
batch = new SpriteBatch();
Model = new Texture("Enemy.png");
}
public World getWorld () {
//common code
}
public Body getBody () {
//common code
}
//a lot of common methods
}
有没有办法让我把这些方法存储在一个类中,然后在这个类中再次重用它们?
在这种情况下,您可以创建一个接口,只要在相应的类中需要,就可以实现相同的接口
public interface CommonMethods {
public World getWorld();
public Body getBody ();
}
public class Enemy extends Game implements CommonMethods{
@Override //from Game_Class
public void create () {
batch = new SpriteBatch();
Model = new Texture("Enemy.png");
}
@Override
public World getWorld() {
return null;
}
@Override
public Body getBody() {
return null;
}
}
你可以试试上面这样的
我已经创建了客户json文件,如下所示: [{"firstName":"test","lastName":"temp","age": 35,"emailAddress":"test@Gmail.com","Address":{"Street Address":"test test","city":"city","postCode":"12343546","state":"state","Count
反序列化XML文件时遇到问题。 无法将类型AlternativeB转换为类型AlternativeA 你们中有没有人对什么可能导致错误有一个想法或一个int?提前谢谢你。
我有一个Firebase数据库,在一个特定的节点级别上有日期,每个日期都有键值对,其值为一定的数字。现在我需要找到最近两天常见的数字。
问题内容: 当我发现以下代码在没有警告和打印的情况下进行编译时,我感到非常惊讶: 我预期会有编译错误。 编译该代码是否有原因? 确保参数具有相同类型的正确方法是什么? 编辑: 关于有限类型参数呢?我能想到的最好的是: 不幸的是,java不允许循环约束。不编译。这是死胡同吗? 问题答案: 究其原因,这是编译因为Java会推断出参数的最具体的超传入,在这种情况下,后是盒装,以和为传递。 没有泛型: 即
例如,拥有如下所示的类。类中的第一个不是null,但中的第二个是null。我得到我尝试创建bean它工作,然后在中调用时得到相同的异常。如何在使用注释的任何地方都使用。 我的主要班级: 类A中使用的验证器类: AmountValidator添加到类Validator中的规则。