public ou privé, est-il vraiment avec Android variables
à l'intérieur d'une seule activité, lors de la définition des composants destinés à être utilisés uniquement à l'intérieur de cette activité, quelle est la réelle différence entre les définitions suivantes:
Button btnPower = null;
//or
private Button btnPower = null;
//or
public Button btnPower = null;
public void somethingUsingTheButton(){
btnPower = (Button)findViewById(R.id.btnpower_id);
}
sont là quelques "sous le capot" des conventions qui doit être pensé (nettoyage des ordures, de la mémoire, etc) qui suggère de toujours utiliser un privé sur le public, si l'entité elle-même n'est jamais destiné à être utilisé à l'intérieur de la classe qu'il est écrit en?
- Pour la plupart, en particulier dans le scénario que vous décrivez où tout est dans tout juste un de la classe/de l'activité, c'est juste bon à limiter la portée des variables que vous utilisez.
Vous devez vous connecter pour publier un commentaire.
Champs privés de promouvoir l'encapsulation
Il est généralement admis convention à utiliser
private
sauf si vous avez besoin d'exposer un champ ou une méthode à d'autres classes. Arriver à ce que l'habitude vous permettra d'économiser beaucoup de douleur dans le long terme.Cependant, il n'y a rien d'intrinsèquement mauvais avec un
public
champ ou d'une méthode. Il ne cause pas de différence pour la collecte des ordures.Dans certains cas, certains types d'accès affectera les performances, mais ils sont probablement un peu plus avancé que le sujet de cette question.
L'un de ces cas a à faire à l'intérieur des classes d'accès extérieur des champs de classe.
bien,
un point important est que la définition des variables en tant que privé est le standard de programmation java.
Donc appeler directement les variables sur les objets au moins paraître étrange pour d'autres personnes qui peuvent éventuellement lire votre code.
Une autre chose que je voudrais dire, c'est que si vous n'êtes pas seul codage sur un projet est toujours une bonne pratique pour limiter la visibilité des attributs qui sont la clé sur l'implémentation de la classe pour éviter étrange de travail autour de ce que les autres développeurs peuvent venir avec.
Personnellement, je ne sais pas si ces modificateurs sont utilisés pour la compilation et l'optimisation de but.
pour conclure, je pense que chaque codeur java expérimenté je vous sujest d'utiliser ce modèle dans la définition des attributs.
Le champ de visibilité n'a rien à voir avec le garbage collector ou la gestion de la mémoire
Vous voulez réduire la portée de la visibilité, autant que possible, de sorte que votre code peut être plus facile à maintenir.
private
etpublic
sont les deux mots clés de Java qui ont le but de la Conception Orientée Objet. Je vous conseille de lire à ce sujet: http://docs.oracle.com/javase/tutorial/java/concepts/Si vous allez seulement à l'utilisation de ces variables (objets) dans votre activité, alors je vous suggère de faire ces variables privées.
J'espère que cette aide.
Edit:
Je ne suis pas sûr si vous utilisez le privé, public ou pas de mot-clé permettra d'optimiser votre application à partir d'un point de mémoire de la perspective. Aussi loin que je peux dire, je pense qu'il n'a pas et vous devez utiliser ce qui rend votre code plus lisible, intuitive et facile à entretenir.