Analyse des différences :
(Apprentissage recommandé : programme d'introduction à Java)
Copie superficielle
Toutes les variables de l'objet copié contiennent les mêmes valeurs que l'objet d'origine, et les références de tous les autres objets pointent toujours vers l'objet d'origine.
En d'autres termes, une copie superficielle ne copie que l'objet considéré, et non les objets auxquels il fait référence.
Copie complète
Toutes les variables de l'objet copié contiennent les mêmes valeurs que l'objet d'origine, à l'exception des variables qui font référence à d'autres objets. Les variables qui font référence à d'autres objets pointeront vers le nouvel objet copié, et non vers les objets référencés d'origine.
En d'autres termes, la copie profonde copie tous les objets référencés par l'objet copié.
(Tutoriel vidéo recommandé : Tutoriel vidéo Java )
Définissez une classe comme suit :
class Test { public int i; public StringBuffer s; }
La figure suivante montre la copie d'objets de ce classe Quand, la différence entre la copie superficielle et la copie profonde :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!