öffentliche oder private, ist es wirklich wichtig, mit Android-Variablen
innerhalb einer einzelnen Aktivität, bei der Definition von Komponenten verwendet werden, die nur im eigenen Aktivität, was ist der wirkliche Unterschied zwischen den folgenden Definitionen:
Button btnPower = null;
//or
private Button btnPower = null;
//or
public Button btnPower = null;
public void somethingUsingTheButton(){
btnPower = (Button)findViewById(R.id.btnpower_id);
}
gibt es einige "unter der Haube" Konventionen, nachgedacht werden sollte über (Müll Aufräumen, Speicher, etc) das würde bedeuten, dass immer das private über das öffentliche, wenn die Person selbst ist immer nur gehen, um verwendet werden, innerhalb der Klasse ist es geschrieben?
- Für die meisten Teil, insbesondere in dem Szenario, das Sie beschreiben, wo alles ist in nur einer Klasse/Aktivität, gerade gut in form als Beschränkung des Gültigkeitsbereichs alle Variablen, die Sie verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Privaten Bereichen zu fördern Kapselung
Es ist eine allgemein akzeptierte Konvention zu verwenden
private
es sei denn, Sie brauchen, um setzen Sie ein Feld oder eine Methode zu anderen Klassen. Immer in diese als eine Gewohnheit, sparen Sie eine Menge Schmerz auf lange Sicht.Jedoch, es gibt nichts falsch mit ein
public
Feld oder eine Methode. Es bewirkt keinen Unterschied für die garbage collection.In einigen Fällen einige Arten von Zugriff auf die Leistung auswirken, aber Sie sind wahrscheinlich ein bisschen mehr Fortgeschritten als das Thema dieser Frage.
Einem solchen Fall zu tun hat, mit inneren Klassen den Zugriff auf die äußere Klasse Felder.
gut,
ein wichtiger Punkt ist, dass bei der Definition von Variablen als "privat" ist der standard in der java-Programmierung.
So ruft direkt Variablen auf Objekte, die zumindest merkwürdig erscheinen für andere Menschen, die vielleicht Lesen Sie Ihren code.
Eine andere Sache, die ich sagen würde ist, dass wenn Sie nicht allein sind-Codierung an einem Projekt ist immer eine gute Praxis, begrenzen Sie die Sichtbarkeit der Attribute, die Schlüssel sind, auf die Klasse-Umsetzung zu vermeiden seltsam umgehen, dass andere Entwickler kommen können.
Ich persönlich weiß nicht, ob diese Modifikatoren werden verwendet, um die Kompilierung und Optimierung Zweck.
abzuschließen, wie ich denke, dass jeder erfahrene java-Programmierer, die ich dringend sujest zur Verwendung dieser Muster in der definition von Attributen.
Den Umfang der Sichtbarkeit nichts zu tun hat mit dem garbage-Kollektor oder Speicher-management
Wollen Sie reduzieren den Umfang der Sichtbarkeit, so viel wie möglich, so kann Ihr code leichter zu pflegen.
private
undpublic
sind die beiden Schlüsselwörter von Java, die den Zweck haben, Objekt-Orientierte Design. Ich schlage vor, Sie Lesen über dieses: http://docs.oracle.com/javase/tutorial/java/concepts/Wenn Sie nur gehen, um diese Variablen (Objekte) in Ihrer Aktivität, dann würde ich vorschlagen, Sie machen diese Variablen private.
Ich hoffe, das hilft.
Edit:
Ich bin mir nicht sicher, ob mit dem öffentlichen, dem privaten oder keine keyword-optimieren Sie die app von einem Speicher-Punkt-Perspektive. Soweit ich sagen kann, ich glaube es nicht, und sollten Sie, was Ihr code die meisten lesbar, intuitiv und wartbar.
Wenn Ihr Variablendeklaration innerhalb der Tätigkeit Bereich, es dient in der Regel als ein scoped variable gewohnt.
Es ist allerdings schlechter Programmierstil verwenden Sie Variablen von einer Methode in eine andere Methode, wenn Sie nicht Parameter.
Beispiel:
Schlecht:
Dies tatsächlich werfen Sie einen syntax-Fehler, weil
foo
deklariert ist außerhalb des Gültigkeitsbereichs fürBar()
Gut: