Comportement des affectations en java
Bonjour,
je savais pas trop comment formuler le titre de ce sujet car voici mon problème : un ami a passé un test de recrutement dans une société qui lui a posé la question suivante :
que fais le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class COption{
public void print(){
System.out.println("o");
}
}
public class Test{
public static void f(COption opt){
opt=null;
}
public static void main (String []args){
COption opt=new COption();
f(opt);
opt.print();
}
} |
je me suis retrouvé con en l'exécutant et en m'appercevant que contrairement à ce que je pensais, on ne déclenchait pas un null pointer exception mais on affichait bien "o".
Pourriez vous m'expliquer pourquoi ?
Merci.