Was macht public static void
meinst du in Java?
Ich bin im Lernprozess. In allen Beispielen in dem Buch, mit dem ich arbeite public static void
kommt vor jeder Methode, die verwendet oder erstellt wird. Was bedeutet das?
David
Was macht public static void
meinst du in Java?
Ich bin im Lernprozess. In allen Beispielen in dem Buch, mit dem ich arbeite public static void
kommt vor jeder Methode, die verwendet oder erstellt wird. Was bedeutet das?
Markus Byers
Es sind drei völlig verschiedene Dinge:
public
bedeutet, dass die Methode sichtbar ist und von anderen Objekten anderer Typen aufgerufen werden kann. Andere Alternativen sind private
, protected
, package
und package-private
. Sehen hier für mehr Details.
static
bedeutet, dass die Methode der Klasse zugeordnet ist, nicht einer bestimmten Instanz (Objekt) dieser Klasse. Das bedeutet, dass Sie eine statische Methode aufrufen können, ohne ein Objekt der Klasse zu erstellen.
void
bedeutet, dass die Methode keinen Rückgabewert hat. Wenn die Methode eine zurückgibt int
du würdest schreiben int
Anstatt von void
.
Die Kombination aller drei ist am häufigsten auf der zu sehen main
Methode, die die meisten Tutorials beinhalten.
Da der Fragesteller noch lernt: Auch die Reihenfolge dieser Keywords ist wichtig. Alle Modifikatoren zuerst (public
, static
, private
usw.) dann den Rückgabetyp (void
in diesem Fall).
– Pindatjuh
5. März 2010 um 21:34 Uhr
@markbyres ok, ich verstehe deine Antwort, ich weiß, dass die Hauptmethode statisch sein muss, aber ich habe keine Ahnung, warum sie öffentlich ist? gibt es dafür einen bestimmten grund??
– Hardik
16. März 2012 um 5:17 Uhr
Die Java-Laufzeitumgebung muss die main-Methode aufrufen, um Ihre Anwendung zu starten. es konnte das nicht tun, wenn es privat war.
– Philipp
4. September 2012 um 20:44 Uhr
Die drei Wörter haben orthogonale Bedeutungen.
public
bedeutet, dass die Methode für Klassen in anderen Paketen sichtbar ist.
static
bedeutet, dass die Methode nicht an eine bestimmte Instanz angehängt ist und keine “this
“. Es ist mehr oder weniger eine Funktion.
void
ist der Rückgabetyp. Es bedeutet “diese Methode gibt nichts zurück”.
utsaw
Das Öffentlichkeit Das Schlüsselwort ist ein Zugriffsbezeichner, der es dem Programmierer ermöglicht, die Sichtbarkeit von Klassenmitgliedern zu steuern. Wenn vor einem Klassenmitglied public steht, kann auf dieses Mitglied durch Code außerhalb der Klasse, in der es deklariert ist, zugegriffen werden. (Das Gegenteil von public ist private, wodurch verhindert wird, dass ein Member von Code verwendet wird, der außerhalb seiner Klasse definiert ist.)
In diesem Fall, main( )
muss als öffentlich deklariert werden, da es beim Programmstart von Code außerhalb seiner Klasse aufgerufen werden muss.
Das Schlüsselwort statisch erlaubt main( )
aufgerufen werden, ohne dass eine bestimmte Instanz der Klasse instanziiert werden muss. Dies ist erforderlich, da main( )
wird vom Java-Interpreter aufgerufen, bevor Objekte erstellt werden.
Das Schlüsselwort Leere teilt dem Compiler das einfach mit main( )
gibt keinen Wert zurück. Wie Sie sehen werden, können Methoden auch Werte zurückgeben.
Paul Tomblin
Das bedeutet:
public
– es kann von überall angerufen werdenstatic
– Es hat keinen Objektstatus, sodass Sie es aufrufen können, ohne ein Objekt zu instanziierenvoid
– Es gibt nichts zurückSie würden denken, dass das Fehlen einer Rückgabe bedeutet, dass es nicht viel tut, aber es könnte zum Beispiel Dinge in der Datenbank speichern.
Aaron
Es bedeutet drei Dinge.
Zuerst public
bedeutet, dass jedes andere Objekt darauf zugreifen kann.
static
bedeutet, dass die Klasse, in der sie sich befindet, nicht zuerst instanziiert werden muss, bevor die Funktion aufgerufen werden kann.
void
bedeutet, dass die Funktion keinen Wert zurückgibt.
Da Sie gerade erst lernen, kümmern Sie sich nicht zu sehr um die ersten beiden, bis Sie etwas über Klassen gelernt haben, und der dritte spielt keine große Rolle, bis Sie anfangen, Funktionen zu schreiben (außer main, das heißt).
Der beste Ratschlag, den ich bekommen habe, als ich das Programmieren gelernt habe, und den ich an Sie weitergebe, ist, sich keine Gedanken über die kleinen Details zu machen, die Sie nicht sofort verstehen. Verschaffen Sie sich einen umfassenden Überblick über die Grundlagen, gehen Sie dann zurück und kümmern Sie sich um die Details. Der Grund ist, dass Sie einige Dinge verwenden müssen (wie public static void
) in Ihren ersten Programmen, die nicht wirklich gut erklärt werden können, ohne Sie zuerst mit einem Haufen anderer Dinge vertraut zu machen. Akzeptieren Sie also für den Moment einfach, dass es so ist, und machen Sie weiter. Sie werden sie in Kürze verstehen.
Gilles ‘SO- hör auf, böse zu sein’
Betrachtet man die typische Spitzenklasse. Auf der obersten Ebene dürfen nur öffentliche Zugriffsmodifikatoren und keine Zugriffsmodifikatoren verwendet werden, sodass entweder öffentlich oder überhaupt kein Zugriffsmodifikator angezeigt wird.
`static“ wird verwendet, weil Sie möglicherweise kein tatsächliches Objekt auf der obersten Ebene erstellen müssen (aber manchmal möchten Sie dies, damit Sie static möglicherweise nicht immer sehen / verwenden. Es gibt andere Gründe, warum Sie static nicht einbeziehen würden auch, aber das ist der typische auf der obersten Ebene.)
void
wird verwendet, da Sie normalerweise keinen Wert von der obersten Ebene (Klasse) zurückgeben. (Manchmal möchten Sie einen anderen Wert als zurückgeben NULL
void wird also möglicherweise auch nicht immer verwendet, insbesondere wenn Sie ein Objekt auf der obersten Ebene deklariert und initialisiert haben, dem Sie einen Wert zuweisen).
Haftungsausschluss:
Ich bin selbst ein Neuling. Wenn diese Antwort in irgendeiner Weise falsch ist, hängen Sie mich bitte nicht auf. Tagsüber bin ich ein Tech-Recruiter, kein Entwickler; Programmieren ist mein Hobby. Außerdem bin ich immer offen für konstruktive Kritik und lerne gerne dazu, also scheuen Sie sich nicht, auf Fehler hinzuweisen.
Benutzer3344876
Public
– bedeutet, dass die Klasse (das Programm) von jeder anderen Klasse verwendet werden kann.
Static
– Erstellt eine Klasse. Kann auch auf Variablen und Methoden angewendet werden, wodurch sie zu Klassenmethoden/Variablen werden, anstatt nur lokal für eine bestimmte Instanz der Klasse.
Void
– das bedeutet, dass kein Produkt zurückgegeben wird, wenn die Klasse die Verarbeitung abschließt. Vergleichen Sie dies mit Hilfsklassen, die einen Rückgabewert an die Hauptklasse liefern, diese funktionieren wie Funktionen; diese haben in der Erklärung keine Ungültigkeit.