Est-il possible de faire des passages par adresse ou par référence en java.
ou puis je trouver l'info?
merci d'avance.
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java
Est-il possible de faire des passages par adresse ou par référence en java.
ou puis je trouver l'info?
merci d'avance.
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java
salut, t'as vraiment pas moyen de t'en passer ?
c'est dommage quand même.
enfin, si vraiment tu as que ça comme solution, c'est possible.
y'a rien de spécial à faire, vu que ce que tu passe en paramètre, c'est des objets, ils sont passés par référence.
a+
Les adresses n'existe pas en Java on parle toujours de référence.
En java il y a 2 types de passage de paramètre :
- par valeur pour les types natifs (int, short, ...)
- par référence pour les objets
Ainsi il est toujours possible de modifier le "contenu" d'une instance. Par exemple
La seule technique pour éviter cela est de passer des objets non mutable (tel que String ou d'autre perso), cad qui ne peuvent être modifié une fois créé sans repasser par une instanciation.
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 class A { public void foo(MyClass my) { my.setName("catherine"); } } public static void main(String[] args) { A a = new A(); MyClass my = new MyClass(); my.setName("John"); a.foo(my); // ici le nom de my est Catherine et non plus John }
Bonjour,
Je profite de ce poste pour poser une petite question....
Comment je peux faire pour rendre des classes perso non mutable?
Merci d'avance,
et bien, il suffit que tu ne prévoie pas de méthodes de modification dans ton code !!
voici une classe non mutable:
oki ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class MyBoolean{ private final boolean value; public MyBoolean(boolean value){ this.value = value; } public boolean getValue(){ return value; } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager