编写一个封装圆形概念的类,假设圆形具有以下属性:表示圆形中心的Point和圆形半径(整数)。包括构造函数,访问器和修改器,以及toString和equals方法。还包括返回圆的周长(2 * PI * radius)和面积(PI * radius ^ 2)的方法。
import java.awt.*;
public class Circle {
private int radius;
public Circle() {
radius = 1;
}
public Circle(int x, int y, int r) {
super(x, y, c);
radius = r;
}
public int getRadius() {
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
我可以做到这一点,我对在类中添加点构造函数,访问器和增变器感到有些困惑。
看起来像这样吗?
protected int x, y;
public point() {
setPoint(0,0);
}
public point(int coordx, int coordy) {
setPoint(coordx,coordy);
}
public void setPoint(int coordx, int coordy) {
x = coordx;
y = coordy;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public String toPrint() {
return "[" + x + "," + y + "]";
}
}
是否可以将两者合并为1类?我试了一下,其中的每一行都有一个错误,说Circle没有返回类型。任何见识都会成为回报。再次感谢你们。
最佳答案
您正在谈论在单个类中具有多个对象的构造函数。那是不可能的。 Java认为public point()
是没有返回类型的方法,因此在语法上是错误的。
您无需为重点课程。 Java已经提供了java.awt.Point
。只需将Point
的类级别字段添加到您的Circle
类中,就可以了。Circle
然后看起来像这样:
public class Circle {
private int radius;
private Point point;
public Circle() {
point = new Point(0, 0);
radius = 1;
}
public Circle(int x, int y, int r) {
point = new Point(x, y);
radius = r;
}
public int getRadius() {
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}