2013-10-09 4 views
0

Я пытаюсь, чтобы круг класса расширял класс Shape, но продолжал получать ошибку от JUnit, поскольку конструктор Circle (Point, int) не определен, как бы определить конструктор Circle иначе, чем public Circle (Point [] center, int aradius)?Конструктор объектов круга не задан

import java.awt.Point; 

public abstract class Shape { 
private String name; 
private Point[] points; 
protected Shape(){}; 
protected Shape(String aName) { 
    name = aName; 
} 

public final String getName() { 
    // TODO Implement method 
    return name; 
} 

protected final void setPoints(Point[] thePoints) { 
    points = thePoints; 
} 

public final Point[] getPoints() { 
    // TODO Implement method 
    return points; 
} 

public abstract double getPerimeter(); 

public static double getDistance(Point one, Point two) { 
    double x = one.getX(); 
    double y = one.getY(); 
    double x2 = two.getX(); 
    double y2 = two.getY(); 
    double x3 = x - x2; 
    double y3 = y - y2; 
    double ypow = Math.pow(y3, 2); 
    double xpow = Math.pow(x3, 2); 
    double added = xpow + ypow; 
    double distance = Math.sqrt(added); 
    return distance; 
} 
} 

Circle.java

import java.awt.Point; 

public class Circle extends Shape{ 

private double radius; 

public Circle(Point[] center, int aradius) { 

    if(radius < 0){ 
     radius = 0; 
    } 
    else{ 
    radius = aradius; 
    } 
    this.setPoints(center); 
} 

@Override 
public double getPerimeter() { 
    double perim = 2 * Math.PI * radius; 
    return perim; 
} 
    public double getRadius(){ 
    return radius; 
    } 

} 

ответ

1

Просто передайте ему один Point, а не массив.

public Circle(Point center, int aradius) 
Смежные вопросы