定义一个名为Circle的类,其中含有double型的成员变量centerX 和centerY表示圆心坐标,radius表示圆的半径。
定义求圆的面积方法getArea()方法和求圆周长的方法getPerimeter()。为半径radius定义方法和修改方法。定义一个带参数的构造方法,通过给出圆的半径创建对象。定义默认构造方法,在该方法中调用有参数构造方法,将圆的半径设置为1.0.编写程序测试这个圆类的所有方法。
public class Circle {
double centerX;
double centerY;
double radius;
public Circle(double centerX,double centerY,double radius){//构造方法的重载:方法名称一样,返回值一样,参数不一样(参数个数不一样,每一个参数对应的数据类型不一样)
this.centerX=centerX;
this.centerY=centerY;
this.radius=radius;
}
public Circle(double radius){
this.radius=radius;
this.centerX=0.0;
this.centerY=0.0;
}
public Circle(){
this(1.0);
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;//成员变量前加this,代表这是类的成员变量,而不是方法里面的局部变量
}
public void getArea(){
double area=Math.PI*radius*radius;
System.out.println("面积是:"+area);
}
public void getPerimeter(){
double perimeter=2*Math.PI*radius;
System.out.println("周长是:"+perimeter);
}
public boolean contains(double x,double y){
double c = Math.sqrt(Math.pow(centerX - x,2) + Math.pow(centerY - y,2));
if (c<=radius){
return true;
}else {
return false;
}
}
}
验证:
public class TestCircle {
public static void main(String[] args) {
Circle c1=new Circle(2.0,2.2,5);
Circle c2=new Circle();
c1.getArea();
c1.getPerimeter();
c2.getArea();
c2.getPerimeter();
}
}