inheritance

Quiz Guidelines

 

Multiple Choice Question

QID: 
186

What will the following code print when compiled and run?

class Base{
void methodA(){
System.out.println("base - MethodA");
}
}
class Sub extends Base{
public void methodA(){
System.out.println("sub - MethodA");
}public void methodB(){
System.out.println("sub - MethodB");
}public static void main(String args[]){
Base b=new Sub(); //1
b.methodA(); //2
b.methodB(); //3
}
}

Select 1 option

A. sub - MethodA and sub - MethodB
B. base - MethodA and sub - MethodB
C. Compile time error at //1
D. Compile time error at //2
E. Compile time error at //3

Multiple Choice Question

QID: 
185

Given the following line of code:

List students = new ArrayList();

Identify the correct statement:

Select 1 option

A. The reference type is List and the object type is ArrayList.
B. The reference type is ArrayList and the object type is ArrayList.
C. The reference type is ArrayList and the object type is List.
D. The reference type is List and the object type is List.

Multiple Choice Question

QID: 
184

Consider the following code:

class Super { static String ID = "QBANK"; }
class Sub extends Super{
static { System.out.print("In Sub"); }
}public class Test{
public static void main(String[] args){
System.out.println(Sub.ID);
}
}

What will be the output when class Test is run?

Select 1 option

A. It will print In Sub and QBANK.
B. It will print QBANK.
C. Depends on the implementation of JVM.
D. It will not even compile.
E. None of the above.

Multiple Choice Question

QID: 
183

Which statement regarding the following code is correct?

class A{
public int i = 10;
private int j = 20;
}
class B extends A{
private int i = 30; //1
public int k = 40;
}
class C extends B{
}
public class TestClass{
public static void main(String args[]){
C c = new C();
System.out.println(c.i); //2
System.out.println(c.j); //3
System.out.println(c.k);
} }

Select 1 option

A. It will print 10 and 40 if //3 is commented.
B. It will print 40 if //2 and //3 are commented.
C. It will not compile because of //1.
D. It will compile if //2 is commented.
E. None of these.

Multiple Choice Question

QID: 
182

Consider the following class hierarchy shown in the image. (B1 and B2 are subclasses of A and C1, C2 are subclasses of B1)

Assume that method public void m1(){ ... } is defined in all of these classes EXCEPT B1 and C1.

Assume that "objectOfXX" means a variable that points to an object of class XX. So, objectOfC1 means a reference variable that is pointing to an object of class C1.

Which of the following statements are correct?

Select 1 option

A. objectOfC1.m1(); will cause a compilation error.
B. objectOfC2.m1(); will cause A's m1() to be called.
C. objectOfC1.m1(); will cause A's m1() to be called.
D. objectOfB1.m1(); will cause an exception at runtime.
E. objectOfB2.m1(); will cause an exception at runtime.

Pages