Unterschied zwischen öffentlichen, statischen und privaten statischen Variablen
class Employee{
//salary variable is a private static variable
private static double salary;
//DEPARTMENT is a constant
public static final String DEPARTMENT = "Development";
public static void main(String args[]){
salary = 1000;
System.out.println(DEPARTMENT+ " average salary:"+salary);
}
}
Diesem java-Programm enthält eine statische variable. Aber ich verstehe nicht den Unterschied zwischen öffentlichen und privaten statischen Variablen.
InformationsquelleAutor Android Girl | 2012-05-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer öffentlichen variable erreichbar überall in der Kodex - eine private variable ist der Zugriff nur innerhalb der Klasse selbst. In diesem Fall sind Sie mit
Employee.salary
innerhalb derEmployee
Klasse, also geht das in Ordnung.Beachten Sie, dass die variable statisch ist eine ganz andere Frage -, Methoden-und Klassen haben die Barrierefreiheit in der gleichen Weise wie Variablen.
Gibt es andere Ebenen der Zugang zu
protected
und der Standard "Paket" zugreifen (die nicht explizit angegeben werden). Sehen Abschnitt 6.6 der Java Language Specification für mehr details.(Als eine Seite-egal, es lohnt sich auch zu lernen, über das, was
static
bedeutet - Sie haben fast sicher nicht wollen diese Variablen werden Statik, wie Sie für die jederEmployee
eher als dieEmployee
Konzept im Allgemeinen. Es ist seltsam fürDEPARTMENT
werden hier eine Konstante.)Ich donot denken, dass wir jemals brauchen private static Variablen
Ich ganz nicht einverstanden. Während ich eher zu Abneigung statische Variablen im Allgemeinen, ich würde sicherlich nicht behaupten, dass Sie nie benötigt. Sind die nur statische Variablen, die du immer Konstanten verwenden? (Auch Konstanten besser gestellt sein können als die privaten, manchmal...)
Wenn ich private statische variable, dann wird die Erinnerung, wenn die app(Android-App zum Beispiel) gestartet wird, obwohl die Klasse nicht instanziieren? wie eine öffentliche statische variable Speicher?
Nur weil das Wort kann verwendet werden, als ein Schlagwort bedeutet nicht, es sollte immer angegeben werden, in code-Schrift, die in Markdown. In diesem Fall, sowohl die öffentlichen als auch statisch machen, mehr Sinn gelesen werden, als reguläre Wörter, IMO.
InformationsquelleAutor Jon Skeet
Einen
public
variable ist von überall zugänglich (naja, überall wo die Klasse zugänglich ist).Einen
private
variable ist der Zugriff nur innerhalb der Klasse.Einen
static
variable gehört zu der Klasse statt einer Instanz einer Klasse.Beachten Sie, dass die variable
DEPARTMENT
ist auchfinal
, was bedeutet, dass es nicht geändert werden kann, sobald es festgelegt ist. Dies ist hier wichtig, weil das ist, was spart diese von schlechten code -- die variable ist eine Konstante, also ist es okay zu geben, Dinge, die außerhalb der Klasse darauf zugreifen.InformationsquelleAutor trutheality
ist nur innerhalb der Klasse zugegriffen werden, wie
Während
Könnte der Zugriff von außerhalb dieser Klasse auch wie folgt
InformationsquelleAutor Manish Mulani
public static
- Zugriff von innerhalb der Klasse als auch außerhalb der Klasse.private static
- Zugriff von innerhalb der Klasse nur.Statik sind als anti-OO in OOPS.
y
zugegriffen werden kann, nur von innenDog
entweder überDog.y
oder nury
.X
zugegriffen werden kann von jedem Ort aus überDog.X
oder, wenn Sie entweder in der Klasse oder mitusing static Dog
als header nurX
.InformationsquelleAutor Preetham R U
Offensichtlich können Sie nicht auf
private
statische variable außerhalb der Klasse, und Sie können aufpublic
statische variable von überall.Da hast du Zugriff von innerhalb der gleichen Klasse (Mitarbeiter).
mit der heutigen computer/Technik, ein kleines amt der Speicher nicht Schaden
InformationsquelleAutor Andrew Logvinov