giovedì 28 marzo 2013

Q70

Given:
class Overloading {
       int x(double d) {
             System.out.println("one");
             return 0;
       }

       String x(double d) {
             System.out.println("two");
             return null;
       }

       double x(double d) {
             System.out.println("three");
             return 0.0;
       }
       public static void main(String[] args) {
new Overloading().x(4.0)
}
}
What is the result?
A.
One
B.
Two
C.
Three
D.
Compilation fails
La risposta è D. Infatti si sta cercando di fare overloading con metodi che hanno la stessa firma (nome + parametri di ingresso). Per fare un overloading bisogna avere firme diverse, quidi stesso nome ma parametri di ingresso diversi :
 

Nessun commento:

Posta un commento