【发布时间】:2016-10-21 17:56:25
【问题描述】:
我必须返回一个函数的值作为 super() 的参数 特别是我有一个类 Polygon(Point[] vertex) 和一个类 Rectangle extends Polygon
Rectangle 类在其构造函数中接受两个参数,它们是两个 Point,代表 Rectangle 的两个随机顶点,有助于计算另外两个
关键是,当我创建构造函数 Rectangle(p1,p2) 时,我必须调用 super() 传递从 p1 和 p2 开始构建的顶点数组; 那么为什么我不应该调用一个函数来计算数组并将其传递给 super() 呢?
【问题讨论】:
-
必须先调用超级构造函数,不能在它之前调用函数。你问的是这个吗?
-
你需要在
Rectangle中创建一个方法private static Point[] createVertices(Point p1, Point p2){...}。然后你可以调用super(createVertices(Point p1, Point p2))作为Rectangle构造函数的第一行。 -
谢谢!!!!它有效!
标签: java