Analyze the following code. // Program 1 public class Test { public static void main(String[] args) { Object a1 = new A(); Object a2 = new A(); System.out.println(((A)a1).equals((A)a2)); } } class A { int x; public boolean equals(A a) { return this.x == a.x; } } // Program 2 public class Test { public static void main(String[] args) { A a1 = new A(); A a2 = new A(); System.out.println(a1.equals(a2)); } } class A { int x; public boolean equals(A a) { return this.x == a.x; } } A.

Analyze the following code.
// Program 1
public class Test {
  public static void main(String[] args) {
    Object a1 = new A();
    Object a2 = new A();
    System.out.println(((A)a1).equals((A)a2));
  }
}
class A {
  int x;
  public boolean equals(A a) {
    return this.x == a.x;
  }
}

// Program 2
public class Test {
  public static void main(String[] args) {
    A a1 = new A();
    A a2 = new A();
    System.out.println(a1.equals(a2));
  }
}
class A {
  int x;
  public boolean equals(A a) {
    return this.x == a.x;
  }
}


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 false

The correct answer is A
Your answer C is incorrect
Explanation: In Program 1, ((A)a1).equals((A)a2) matches the equals(A a) method in the class A.


Java

Learn More Multiple Choice Question :