Casting and Instanceof

Quiz Guidelines

 

Multiple Choice Question

QID: 
205

Consider the following classes:

class A {
public int getCode(){ return 2;}
}
class AA extends A {
public void doStuff() {
}
}

Given the following two declarations, which of the options will compile?

A a = null;
AA aa = null;

Select 4 options

A. a = (AA)aa;
B. a = new AA();
C. aa = new A();
D. aa = (AA) a;
E. aa = a;
F. ((AA)a).doStuff();

Multiple Choice Question

QID: 
204

Consider the following classes:

class A implements Runnable{ ...}
class B extends A implements Observer { ...}
(Assume that Observer has no relation to Runnable.)

and the declarations :

A a = new A() ;
B b = new B();

Which of the following Java code fragments will compile and execute without throwing exceptions?

Select 2 options

A. Object o = a; Runnable r = o;
B. Object o = a; Runnable r = (Runnable) o;
C. Object o = a; Observer ob = (Observer) o ;
D. Object o = b; Observer o2 = o;
E. Object o = b; Runnable r = (Runnable) b;

Multiple Choice Question

QID: 
203

Consider the following program:

class Game {
public void play() throws Exception {
System.out.println("Playing...");
}
}
class Soccer extends Game {
public void play(String ball) {
System.out.println("Playing Soccer with "+ball);
}
}
public class TestClass {
public static void main(String[] args) throws Exception {
Game g = new Soccer();
// 1
Soccer s = (Soccer) g;
// 2
}
}

Which of the given options can be inserted at //1 and //2?

Select 2 options

A. It will not compile as it is.
B. It will throw an Exception at runtime if it is run as it is.
C. g.play(); at //1 and s.play("cosco"); at //2
D. g.play(); at //1 and s.play(); at //2
E. g.play("cosco"); at //1 and s.play("cosco"); at //2

Pages