Bonsoir,
S'il vous plaît question de débutant en java
je me demande pourquoi je ne peux pas affecter null ou une nouvelle instance à un objet malgré il est passé par adresse à ma méthode
Example:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static void killPerson(Person p) { p = null; } public static void main(String... args) { Person p = new Person("Me"); System.out.println(p.getName()); killPerson(p); System.out.println(p.getName()); }Je trouve toujours que la méthode killPerson(p) ne peut pas affecter null à un objet ou même ne peut affecter un autre objet person à p (l'objet Person reste inchangé malgré son passage par la méthode) malgré on sait que le passage d'un objet (non pas type primitif) est toujours par adresse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class Person { String name; public Person(String name) { this.name = name; } public String getName() { return name; } void setName(String name) { this.name = name; } }
Merci beaucoup
Partager