Maison  >  Article  >  Java  >  Étapes de mise en œuvre de l'encapsulation en Java

Étapes de mise en œuvre de l'encapsulation en Java

蓝冰凌z
蓝冰凌zoriginal
2018-05-04 11:22:213232parcourir

L'encapsulation consiste à masquer les informations de l'objet à l'intérieur de l'objet et à interdire aux programmes externes d'accéder directement aux propriétés et aux méthodes à l'intérieur de l'objet.

1. Les types de base ne peuvent être transmis que par valeur, et la classe d'encapsulation correspondant à chaque type de base est transmise par référence.
2. En termes de performances, les types de base en Java sont créés sur la pile et tous les types d'objets sont créés sur le tas (les références d'objet sont créées sur la pile). Par exemple, Integer i=new Integer(10); où new Integer() est créé sur le tas et sa référence Integer i est sur la pile. L'émergence des classes encapsulées vise à rendre plus pratique l'utilisation de certaines méthodes qui ne sont pas disponibles dans les types de base, telles que valueOf(), toString(), etc. De plus, si vous souhaitez transmettre une référence à un objet int au lieu d'une valeur, vous ne pouvez utiliser qu'une classe wrapper.
L'efficacité d'appel de l'allocation de mémoire sur la pile est très différente de celle de l'allocation de mémoire sur le tas. Bien que l'allocation de mémoire sur la pile soit efficace, l'allocation de mémoire sur la pile pose le problème des fuites de mémoire. (C'est un problème que les programmeurs médiocres ne peuvent pas résoudre...) Java utilise une méthode très géniale pour améliorer l'efficacité de l'allocation de mémoire sur le tas. Malgré cela, Java est toujours lent. Il est peu probable qu'il soit aussi rapide que le C++, même s'il a promis qu'un jour les machines virtuelles seraient aussi rapides que le code machine.
JDK5.0 peut être automatiquement empaqueté, c'est-à-dire que les données de base peuvent être automatiquement empaquetées dans des classes encapsulées. L'avantage des types de données de base est qu'ils sont rapides (cela n'implique pas la construction et le recyclage d'objets). les classes encapsulées sont principalement destinées à être meilleures. Il existe de nombreuses méthodes de traitement de la conversion des données et elles sont faciles à utiliser.
Bien sûr, le transfert des types encapsulés se fait par référence. Par exemple,

Integer a = new Integer(1);

signifie qu'une référence de type Integer a fait référence à un morceau de mémoire, et la donnée dans cette mémoire est 1 ; et ce qui est stocké dans a est la référence (adresse) de cette mémoire. Lors du passage de a à d'autres méthodes ou objets, la référence de a est transmise.
Conversion entre types :

String b = "123456"; 
int c = Integer.parseInt(b);

signifie convertir la chaîne 123456 en un nombre entier, où parseInt est une méthode statique et peut être utilisée directement
Un autre point est que dans certains cas, vous. Vous devez utiliser une classe d'encapsulation, telle qu'une liste de collection, qui ne peut y ajouter que des objets, c'est-à-dire un objet, donc stocker directement des nombres n'est certainement pas possible. Vous devez encapsuler les nombres dans des objets de type encapsulation, puis les stocker dans. la liste, telle que

List list = new ArrayList(); 
list.add(new Integer(1)); 
list.add(new Integer(2)); 
list.add(new Integer(3)); 
list.add(new Integer(4));

JDK5.0 peut automatiquement sceller les paquets, elle peut donc être abrégée en

List list = new ArrayList(); 
list.add(1); 
list.add(2); 
list.add(3); 
list.add(4);

Je pense que vous maîtrisez la méthode après avoir lu le cas dans ce Article Pour des informations plus intéressantes, veuillez prêter attention aux autres sujets connexes dans l'article du site Web chinois php !

Lecture recommandée :

JavaScript pour obtenir la ville et la localisation géographique de l'utilisateur

La relation entre le mode d'appel JavaScript et ce mot-clé liaison

La relation entre le mode d'appel JavaScript et cette liaison de mot-clé

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn