Analyze the following code.//Program 1: public class Test {public static void ma
ID: 3808762 • Letter: A
Question
Analyze the following code.//Program 1: public class Test {public static void main (String[] args) {Circle circle 1 = new Circle (); Circle circle 2 = new Circle(); System.out.println (circle 1.equals(circle2));}} class Circle {double radius; public boolean equals(Circle circle) {return this radius == circle radius;}}//Program 2 public class Test {public static void main (String[] args) {Circle circle 1 = new Circle (); Circle circle 2 = new Circle(); System.out.println (circle1.equals(circle2));}} class Circle {double radius; public boolean equals (Object circle) {return this radius = = ((Circle)circle) radius;}} A. Program 1 displays true and Program 2 displays true B. Program 1 displays false and Program 2 displays true C. Program 1 displays true and Program 2 displays false D. Program 1 displays false and Program 2 displays falseExplanation / Answer
Answer: A. Program 1 displays true and Program 2 displays true
Both program will display the output true.
In first program and second program, we are passing Circle object to the equals method. In firs prgram, we are catching as Circle object in equals method and comparing the both circle object radius. Since we initilazed the object both will have radius value 0.0. So that equals method will return true.
In second program, we are atching circle object as Object class and type casting while comparing the radius. So both will behave the same.