Answer:
B) Program 1 Displays false and Program 2 Displays true
Explanation:
equals method is defined in Object class and every class is by default extends Object class.
In order to use equals method of object class, subclass must extends equals method of Object class.
Equals method always take Object class reference as a parameter.
So in Program one, equals method's parameter is of type Circle which means Our subclass did't override the equals method of Object class, and default equals method of object class compares the memory addresses that's why program 1 returned false.
In program 2, equals method is properly override the Object class equals method. That's why when we try to call equals method, it basically executed subclass equals method and that's why it returned true as double default value is 0.0;