【问题标题】:How to pass "Point" value to constructor如何将“Point”值传递给构造函数
【发布时间】:2020-02-14 22:16:27
【问题描述】:

public OneDimensionalShape(Point location, int dimension)

上面给出的是构造函数,但是当我从一些 RunnerClass 初始化构造函数时,如下所示

OneDimensionalShape myShape = new OneDimensionalShape(1,0,5);

出现以下错误:

线程“main”java.lang.Error 中的异常:未解决的编译问题: 构造函数 OneDimensionalShape(int, int, int) 未定义

at com.introjava.chapter4.ShapeRunner.main(ShapeRunner.java:9)

在这方面需要你的帮助。

【问题讨论】:

  • 错误信息说明了一切:您将三个参数传递给一个只需要 2 个参数的方法。它与构造函数本身无关。

标签: java arrays inheritance methods point


【解决方案1】:

构造函数public OneDimensionalShape(Point location, int dimension)两个参数Point locationint dimension。您的代码使用 3 个参数 调用构造函数:105。鉴于你的构造函数有 2 个参数,你调用的构造函数也应该有 2 个参数。

此外,构造函数的前两个参数应该是一个Point,但实际上它们是两个整数值。你应该尝试使用OneDimensionalShape myShape = new OneDimensionalShape(new Point(1,0),5);

点也是 0 维形状,因为它没有宽度或高度。一维形状是一条线,而不是一个点。

【讨论】:

  • 非常感谢您的回复。错误的原因是我将参数传递给构造函数的方式。我没有使用新点(x,y),我使用的是(x,y,int)。非常感谢。
  • 这就是我告诉你的。如果答案对您有帮助,请点赞并通过单击向上箭头和复选标记接受答案。 :3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多