Given the following UML is for a private member is for a p
Solution
public class Circle {
private double radius;
private static int numberOfObjects;
public Circle() {
// TODO Auto-generated constructor stub
this.radius = 1;
this.numberOfObjects++;
}
/**
* @param radius
* @param numberOfObjects
*/
public Circle(double radius) {
if (radius < 0) {
System.out.println(\"Invalid radius\");
} else {
this.radius = radius;
this.numberOfObjects++;
}
}
/**
* @return the radius
*/
public double getRadius() {
return radius;
}
/**
* @param radius
* the radius to set
*/
public void setRadius(double radius) {
if (radius < 0) {
System.out.println(\"Invalid radius\");
} else {
this.radius = radius;
}
}
/**
* @return the numberOfObjects
*/
public static int getNumberOfObjects() {
return numberOfObjects;
}
/**
* @return
*/
public double getArea() {
return Math.PI * this.radius * this.radius;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return \"Circle [radius=\" + radius + \"]\";
}
}
public class lastname_exam2 {
public static void main(String[] args) {
Circle circle1 = new Circle();
System.out.println(\"Circle object with no argument constructor :\"
+ circle1.toString());
System.out.println(\"Number of circle objects created : \"
+ Circle.getNumberOfObjects());
Circle circle2 = new Circle(2);
System.out.println(\"Circle object with argument constructor :\"
+ circle2.toString());
System.out.println(\"Area :\" + circle2.getArea());
System.out.println(\"Number of circle objects created : \"
+ Circle.getNumberOfObjects());
circle1.setRadius(3);
System.out.println(\"set Radius 3 for circle object:\"
+ circle1.toString());
}
}
OUTPUT:
Circle object with no argument constructor :Circle [radius=1.0]
Number of circle objects created : 1
Circle object with argument constructor :Circle [radius=2.0]
Area :12.566370614359172
Number of circle objects created : 2
set Radius 3 for circle object:Circle [radius=3.0]

