Java program that calculates the area of a cylinder and a circle using the super
keyword:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import java.util.*; class Shape { double radius; Shape(double r) { radius = r; } double area() { return 0.0; } } class Circle extends Shape { Circle(double r) { super(r); } double area() { return Math.PI * radius * radius; } } class Cylinder extends Shape { double height; Cylinder(double r, double h) { super(r); height = h; } double area() { return 2 * Math.PI * radius * height + 2 * Math.PI * radius * radius; } } class Test { public static void main(String args[]) { Circle c = new Circle(10); System.out.println("Area of circle is: " + c.area()); Cylinder cy = new Cylinder(10, 20); System.out.println("Area of cylinder is: " + cy.area()); } } |
In this program, the Shape
class is the base class with a single instance variable radius
. The Circle
class extends Shape
and provides its own implementation of the area
method to calculate the area of a circle. The Cylinder
class extends Shape
as well and adds an additional instance variable height
. It also provides its own implementation of the area
method to calculate the surface area of a cylinder.
In the main
method of the Test
class, objects of both the Circle
and Cylinder
classes are created and their areas are calculated using the area
method. The result is printed to the screen. The super
keyword is used in the constructors of both the Circle
and Cylinder
classes to call the constructor of the parent Shape
class and initialize the radius
instance variable.