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(a1.equals(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 trueC. Program 1 displays true and Program 2 displays false
D. Program 1 displays false and Program 2 displays false
The correct answer is B
Explanation: In Program 1, the equals method in the Object class is invoked. In Program 2, the equals method in the class A is invoked. There are now two overloaded methods available in the class A. i.e. public boolean equals(Object a) and public boolean equals(A a). Which of the two is used by a1.equals(a2) is determined at compilation time. a1.equals(a2) in Program 1 matches the equals method defined in Object and a1.equals(a2) in Program 2 matches the equals method defined in the class A.
Java
- In Java, the mechanism that allows you to combine data and operations on the data into a single unit is called a(n)
- Which of the following is a legal way to declare and instantiate an array of 10 Strings?
- The statement System.out.println(values[7]); will
- Which of the following loops would adequately add 1 to each element stored in values?
- What is the value of values.length?
- What is returned by values[3]?
- A listener is an object that
- JOptionPane is a class that provides GUI
- In order to have some code throw an exception, you would use which of the following reserved words?
- An exception can produce a “call stack trace” which lists
- A Java program can handle an exception in several different ways. Which of the following is not a way that a Java program could handle an exception?
- Assume that you are defining a class and you want to implement an ActionListener. You state addActionListener(this); in your class’ constructor. What does this mean?
- In order to implement Comparable in a class, what method(s) must be defined in that class?
- Which of the following interfaces would be used to implement a class that represents a group (or collection) of objects?
- An object that refers to part of itself within its own methods can use which of the following reserved words to denote this relationship?
- Static methods cannot
- Which of the following methods is a static method? The class in which the method is defined is given in parentheses following the method name.
- An object may be made up of other objects.
- Method decomposition is the process of creating overloaded versions of a method that do the same thing, but operate on different data types.
- The println method on System.out is overloaded.
- A method defined without a return statement will cause a compile error.
- If a method takes a double as a parameter, you could pass it an int as the actual parameter.
- The different versions of an overloaded method are differentiated by their signatures.
- The number and types of the actual parameters must match the number and types of the formal parameters.
- The return statement must be followed a single variable that contains the value to be returned.