lunedì 23 settembre 2013

Q11


Given:
interface Rideable {
       public String ride() { return "riding "; };
}


class Horse implements Rideable {
       public String ride() {
             return "cantering ";
       }
}

class Icelandic extends Horse implements Rideable {
       public String ride() {
             return "tolting ";
       }
}

class Test {
       public static void main(String[] args) {
             Rideable r1 = new Icelandic();
             Rideable r2 = new Horse();
             Horse h1 = new Icelandic();
             System.out.println(r1.ride() + r2.ride() + h1.ride());
       }
}

 

What is the result?

A.
riding riding tolting


B.
riding riding cantering


C.
tolting cantering tolting


D.
tolting cantering cantering


E.
Compilation fails.


F.
An exception is thrown at runtime.


La risposta è E perché i metodi di una interfaccia possono essere solo astratti (abstract) e quindi non devono avere un corpo.

Per compilare il metodo dell’interfaccia dovrebbe essere corretto in :
public String ride() { return "riding "; };à public String ride();

Nessun commento:

Posta un commento