【发布时间】:2018-07-27 20:07:46
【问题描述】:
我试图从我的测试类中初始化一个圆形对象,但参数(5.5)没有通过。结果是错误的。我尝试调试并发现圆形类中的半径为 0.00,5.5 没有传递到圆形类中。 任何人都可以帮助我吗?
这是我的输出:
The area of circle is: 3.14
这是我的测试课:
public class ShapeTest {
public static void main(String[] args){
Circle circle = new Circle(5.5);
System.out.println(circle);
}
}
}
这是我的圈子班:
public class Circle extends TwoDimensionalshape {
private double radius;
public Circle(double radius){
super(radius);
}
public void setRadius(double radius){
this.radius = radius;
}
public double getRadius(){
return radius;
}
@Override
public double getArea(){
return 3.14+getRadius()+getRadius();
}
@Override
public String toString(){
return String.format("%s %,.2f%n ","The area of circle is: ",getArea());
}
}
这是我的超级班:
public class TwoDimensionalshape implements Area{
private double radius;
private double base;
private double height;
public TwoDimensionalshape(double radius){
this.radius = radius;
}
public TwoDimensionalshape(double base, double height){
this.base = base;
this.height = height;
}
public double getRadius() {
return radius;
}
public double getBase() {
return base;
}
public double getHeight() {
return height;
}
@Override
public double getArea(){
return 1;
}
public String toString(){
return "The area is: "+getArea();
}
}
【问题讨论】:
-
您在 getArea() 方法中存在数学错误。将 + 替换为 *
-
我这样做是为了调试,得到半径值后会改回来。 :)
标签: java inheritance parameters constructor polymorphism