Java - 矩形getBounds();

时间:2017-12-09 20:37:12

标签: java rectangles

今天我决定使用Java制作一款自上而下的游戏。我已经创建了窗口并包含了Jframe。但我发现在Rectagle GetBounds()中创建GameObject有问题; 。我不知道究竟是什么,因为我是初学者,我知道java的基础知识:(。

如果有人可以帮我解决这个问题,我会给出下面的代码示例:

package example;

import java.awt.Graphics;

import java.awt.Rectangle;

public abstract class GameObject {
protected int x, y;
protected float velX = 0, velY = 0;

public GameObject(int x, int y) {
    this.x = x;
    this.y = y;
}

public abstract void tick();
public abstract void render(Graphics g);
public abstract void Rectangle getBounds();

public int getX() {
    return x;
}

public void setX(int x) {
    this.x = x;
}

public float getVelX() {
    return velX;
}

public void setVelX(float velX) {
    this.velX = velX;
}

public float getVelY() {
    return velY;
}

public void setVelY(float velY) {
    this.velY = velY;
}
} 

代码导致以下错误:

  

字段Rectangle的非法修饰符;只有公共,受保护,   私人,静态,最终,瞬态&允许使用volatile返回类型   因为该方法缺少语法错误,插入“;”去完成   FieldDeclaration此方法需要正文而不是分号   void是变量Rectangle

的无效类型

注意:我正在使用Java SE-8和Eclipse Oxigen。

1 个答案:

答案 0 :(得分:0)

如果要创建GameObject的实例(如下所示:new GameObject()),则GameObject类不能是抽象的。

您无法创建抽象类的实例。您只能创建一个继承自抽象类的类,并实现所有或某些方法。

在这里你可以实现方法tick(),render(Graphics g)和getBounds(),或者创建一个继承自GameObject的新类(公共类GameObjectImp扩展GameObject)并在那里实现方法。