Java MCQs on method overriding in Java Programming Language.
1. Which of this keyword can be used in a subclass to call the constructor of superclass? Answer: a 2. What is the process of defining a method in a subclass having same name & type signature as a method in its superclass? Answer: b 3. Which of these keywords can be used to prevent Method overriding? Answer: d 4. Which of these is correct way of calling a constructor having no parameters, of superclass A by subclass B? Answer: d 5. At line number 2 in the following code, choose 3 valid data-type attributes/qualifiers among “final, static, native, public, private, abstract, protected” a) final, native, private Answer: d 6. Which of these is supported by method overriding in Java? Answer: c 7. What will be the output of the following Java program? a) 2 Answer: c 8. What will be the output of the following Java program? a) 2 2 9. What will be the output of the following Java program? a) Compilation error Answer: d 10. What will be the output of the following Java program? a) 1
a) super
b) this
c) extent
d) extends
Clarification: None.
a) Method overloading
b) Method overriding
c) Method hiding
d) None of the mentioned
Clarification: None.
a) static
b) constant
c) protected
d) final
Clarification: To disallow a method from being overridden, specify final as a modifier at the start of its declaration. Methods declared as final cannot be overridden.
a) super(void);
b) superclass.();
c) super.A();
d) super();
Clarification: None.
public interface Status
{
/* insert qualifier here */ int MY_VALUE = 10;
}
b) final, static, protected
c) final, private, abstract
d) final, static, public
Clarification: Every interface variable is implicitly public static and final.
a) Abstraction
b) Encapsulation
c) Polymorphism
d) None of the mentioned
Clarification: None.
class Alligator
{
public static void main(String[] args)
{
int []x[] = {{1,2}, {3,4,5}, {6,7,8,9}};
int [][]y = x;
System.out.println(y[2][1]);
}
}
b) 3
c) 7
d) Compilation Error
Clarification: Both x,and y are pointing to the same array.
final class A
{
int i;
}
class B extends A
{
int j;
System.out.println(j + " " + i);
}
class inheritance
{
public static void main(String args[])
{
B obj = new B();
obj.display();
}
}
b) 3 3
c) Runtime Error
d) Compilation Error
Clarification: class A has been declared final hence it cannot be inherited by any other class. Hence class B does not have member i, giving compilation error.
output:
$ javac inheritance.java
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
i cannot be resolved or is not a field
class Abc
{
public static void main(String[]args)
{
String[] elements = { "for", "tea", "too" };
String first = (elements.length > 0) ? elements[0]: null;
}
}
b) An exception is thrown at run time
c) The variable first is set to null
d) The variable first is set to elements[0]
Clarification: The value at the 0th position will be assigned to the variable first.
class A
{
int i;
public void display()
{
System.out.println(i);
}
}
class B extends A
{
int j;
public void display()
{
System.out.println(j);
}
}
class Dynamic_dispatch
{
public static void main(String args[])
{
B obj2 = new B();
obj2.i = 1;
obj2.j = 2;
A r;
r = obj2;
r.display();
}
}
b) 2
c) 3
d) 4
Clarification: r is reference of type A, the program assigns a reference of object obj2 to r and uses that reference to call function display() of class B.
output:
$ javac Dynamic_dispatch.java
$ java Dynamic_dispatch
2