java - 对象的接口(interface)和参数存在问题

标签 java interface constructor parameter-passing instance-variables

这是一个很难描述的问题,所以我会尽力而为。

基本上我的程序有两个具体的类:MovablePoint 和 MovableCircle。两者都实现了 Movable 接口(interface),该接口(interface)有四个方法: moveUp Down left right。

现在我遇到的问题是,当我构造 MovableCircle 时,我需要使用 MovablePoint 的实例变量来表示圆的中心。不过,我还需要 MovableCircle 的构造函数接受 5 个参数:int x、int y、int xSpeed、int ySpeed、int radius。前 4 个参数是圆的“中心”,它们应该由 MovablePoint 实例化。

这是我所拥有的:

public class MovableCircle implements Movable {
private int radius;
private int y;
private int x;
private int xSpeed;
private int ySpeed;
public MovablePoint circleCenter;

public MovableCircle (int x, int y, int xSpeed, int ySpeed, int radius) {
    this.radius = radius;
    this.x = circleCenter.getX();
    this.y = circleCenter.getY();
    this.xSpeed = circleCenter.getxSpeed();
    this.ySpeed = circleCenter.getySpeed();
}

这里还有 MovablePoint 代码(如果有帮助的话):

public class MovablePoint implements Movable{
private int x;
private int y;
private int xSpeed;
private int ySpeed;

public MovablePoint(int x, int y, int xSpeed, 
        int ySpeed) {
    this.x = x;
    this.y = y;
    this.xSpeed = xSpeed;
    this.ySpeed = ySpeed;
}

显然,除了我发布的内容之外,还有更多代码,但我相当肯定我已经正确编码了类方法。我相信我的问题在于我需要用 MovablePoint 实例化 MovableCircle 的中心,但我不知道如何补救。感谢您的帮助,如果这个问题很容易解决并且我只是忘记了,我深表歉意..

最佳答案

怎么样:

public class MovableCircle implements Movable {
    private int radius;
    private MovablePoint circleCenter;

    public MovableCircle (int x, int y, int xSpeed, int ySpeed, int radius) {
        this.radius = radius;
        this.circleCenter = new MovablePoint(x, y, xSpeed, ySpeed);
    }

关于java - 对象的接口(interface)和参数存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28976132/

相关文章:

java - Java 中的深拷贝构造函数

java - Android/Java 重复按钮点击

java - 检查用户登录情况

c# - typeof(Foo) 有效,但 Type.GetType ("Foo") 为 null

generics - 通用存储库模式的此代码中的 IEntity 是什么?

c++ - C++错误中的结构初始化

java - 如何检查哪个线程在握住监视器?

java - HTTP 状态 404 - 请求的资源不可用 (Apache tomcat 7)

C# 4.0 中的 C# LINQ/对象初始值设定项示例简而言之

java - java中的构造函数调用继承的构造函数