void? static? beide? garnichtst von beiden?

Status
Nicht offen für weitere Antworten.
R

ricke

Gast
Hallo Leute

bin recht unerfarhen was Java angeht.
Versuche es mir gerade anzueignen das Buch Material was ich bis jetzt habe ist aber irgenwie nicht verständlich für mich auf einfachste sachen wird zu Beispiel nicht eingegangen.

Und damit wären wir auch schon bei meinen Fragen.

woran unterscheidet man
Code:
void
Code:
static
Code:
static void

wann benutzte ich was???


Ihr werde warscheinlich lachen das ich das Frage aber ich hab in dem Buch keine Antwort auf meine Frage gefunden oder ich bin einfach zu Blöd zum lesen
 

MASTERmind

Bekanntes Mitglied
Ich glaube nicht dass es sinn macht dir das hier zu erklären oder es zu versuchen dir zu erklären.
ich hatte am anfang das gleiche problem, daher weiß ich wovon ich rede.

Das sind elementare Dinge der OOP wie zb static.

Du solltest Tutorials machen("gailer-net"), sehr viel lesen und einfach drauf los programmieren, möglichst einfach.

dann geht irgendwann ein licht an und du weißt worum es geht.

Ist nur meine Meinung
 

the_alien

Aktives Mitglied
Ich glaube dein Buch ist echt Mist, wenn das dort nicht erklärt wird.
Du kannst "Java ist auch eine Insel" online und umsonst lesen, da ist alles recht gut erklärt.

Zu deiner Frage:
Code:
void foo();
gibt an, dass foo() keine Werte zurückliefert.
Code:
static foo = "bar";
gibt an, dass die Variable foo immer den Wert "bar" hat, auch ohne dass eine Instanz der Klasse angelegt wurde.
Code:
static void foo();
Ist eine Funktion die ohne eine Instanz der dazugehörigen Klasse aufgerufen werden kann und keinen Wert zurückliefert.
 

Wildcard

Top Contributor
the_alien hat gesagt.:
Code:
static foo = "bar";
gibt an, dass die Variable foo immer den Wert "bar" hat, auch ohne dass eine Instanz der Klasse angelegt wurde.
Meinst du wirklich? :D
Code:
public class StaticStuff
{ 
    static int blupp = 2;

   public static void main(String [] args)
   {                                 
       StaticStuff.blupp=5;
       System.out.println(blupp);
   } 
}
 

mic_checker

Top Contributor
the_alien hat gesagt.:
Code:
static foo = "bar";
gibt an, dass die Variable foo immer den Wert "bar" hat, auch ohne dass eine Instanz der Klasse angelegt wurde.
Code:
static void foo();
Ist eine Funktion die ohne eine Instanz der dazugehörigen Klasse aufgerufen werden kann und keinen Wert zurückliefert.

Zu 1) Siehe Wildcard's Post ;)
Zu 2) Es heisst Methode (nicht Funktion) - außerdem : Was führst du auf einmal etwas abstraktes ein? Ich denke wenn er nicht versteht was void und static macht, dann wird er auch nicht verstehen was abstrakte Methoden machen..
 

the_alien

Aktives Mitglied
Ok, statt static, static final erklärt ;)

zu2: Er hat gefragt oder? Das er lieber was gutes lesen soll hab ich ja schon davor geschrieben.
 

mic_checker

Top Contributor
Ich kann nirgendwo was von abstrakten Methoden lesen , du?

Prinzipiell ist es ja nicht schlimm wenn du ihm das erklären willst, nur dann solltest du darauf hinweisen das diese Methode abstrakt ist.

Btw. so wie du es geschrieben hast wird es nicht funktionieren:

Code:
static void foo();

Daraus müsstest du dann ein:

Code:
abstract void foo();

machen.

Aber wir weichen vom Thema ab, will hier niemanden verunsichern.
 

mic_checker

Top Contributor
Du hast nicht geschrieben:

Code:
static void foo() {}

sondern

Code:
static void foo();

Darin besteht ein Unterschied.

Bei der ersten Methode handelt es sich um eine Klassenmethode die keinen Rückgabewert hat.
Die zweite Methode wird SO von dem Compiler nicht akzeptiert, probiers doch einfach mal aus.

missing method body, or declare abstract

Du machst die Methode also abstract:

Code:
abstract void foo();

Bei weiteren Fragen kannst du mir ja ne PM schicken oder im Forum nach dem Thema suchen, bzw. nen Thread aufmachen...
 

the_alien

Aktives Mitglied
Oh ja, die Klammern hab ich vergessen, sorry. Ist die C++ Vorgeschichte über die ich andauernd stolper :D

BTW: Ist es bei Java nciht egal ob ich Funktion oder Methode sage? Funktionen gibts ja per Definition ganicht, so kann man es eigentlich auch garnicht verwechseln ;)
 

dark_red

Bekanntes Mitglied
Funktionen gibt es nicht und deshalb macht es auch keinen Sinn, einer Methode Funktion zu sagen.

Vielleicht sollte man noch erwähnen, dass eine Klassenmethode (also eine Methode mit dem static davor) etwas speziell ist. Immerhin lassen sich keine normalen Methoden aufrufen oder Variabeln verändern. Ich sehe oft, dass leute direkt in der statischen Main Methode andere Methode der selben Klasse aufrufen wollen, ohne eine Instanz von dieser zu erzeugen. Dann fangen sie, alle Methoden statischen zu machen und versinken im Chaos. Dies passiert gerne, wenn man die OOP Konzepte noch nicht richtig verstanden hat. Ich empfehle auch immer gerne das Buch "Objektorientierte Programmierung mit Java,
Eine praxisnahe Einführung mit BlueJ" von "PEARSON Studium" (ISBN 3-8273-7073-6). Damit arbeitet man zwar mit BlueJ (macht man in der Praxis nicht und deshalb finde viele Leute BlueJ "blöd"), lernt dafür die OOP *richtig* kennen, ohne falschen Angewohnheiten zu verfallen.


btw: ich hatte nie Probleme mit der OOP, als ich diese gelernt habe. Mein grösstes Problem war allerdings, dass ich einfach nicht begreifen konnte, wie man "main" die Klasse instanzieren konnte, in der "main" drin ist. Meinen Gedanken zu folge musste die Klasse bereits vollkommen beschrieben sein, um instanziert werden zu können. Jaja... lustige Probleme hatte ich damals... Aber was ich damit sagen wollte: Kopf hoch, irgendwann macht es *klick*; man darf nur nicht aufgeben!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
S Static void Methode Java Basics - Anfänger-Themen 12
E Methoden public static void main(String[] args) Java Basics - Anfänger-Themen 9
S Static void main <-> componentListener Java Basics - Anfänger-Themen 9
C public static void main(String[] args) Java Basics - Anfänger-Themen 6
D Frage zu public static void main. Java Basics - Anfänger-Themen 4
G Vor oder hinter public static void main. ? Java Basics - Anfänger-Themen 8
G Was ist public static void main(String[] args)? Java Basics - Anfänger-Themen 12
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
A die public static void main ? Java Basics - Anfänger-Themen 3
N public static void main(String args[]) Java Basics - Anfänger-Themen 6
G Warum eigentlich static void? Java Basics - Anfänger-Themen 3
B Problem mit einer static void Methode Java Basics - Anfänger-Themen 8
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
J public static void main? Java Basics - Anfänger-Themen 5
G public static void main(final String[] args) Java Basics - Anfänger-Themen 4
N public static void Java Basics - Anfänger-Themen 18
X Was genau heißt "public static void main(String[] args) Java Basics - Anfänger-Themen 4
B public static void main (String[] args) ??? Java Basics - Anfänger-Themen 2
G getParameter in public static void main Java Basics - Anfänger-Themen 3
C Kann mir jemand sagen warum public void unzulässig ist? Java Basics - Anfänger-Themen 2
V Methoden printChar Methode mit Rückgabetyp void Java Basics - Anfänger-Themen 26
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
MrDramasetter Rückgabetyp Void oder Sting Java Basics - Anfänger-Themen 18
C Void Methode überladen Java Basics - Anfänger-Themen 5
V for-Schleife in einer void Methode Java Basics - Anfänger-Themen 3
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
Tommy Nightmare void Methode gibt Array zurück Java Basics - Anfänger-Themen 3
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
H Variablen Void und der Rückgabewert Java Basics - Anfänger-Themen 6
G Interpreter-Fehler Problem mit void-Methoden Java Basics - Anfänger-Themen 2
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
T Void Java Basics - Anfänger-Themen 32
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
T public void - Problem Java Basics - Anfänger-Themen 10
M Methoden void verschachteln Java Basics - Anfänger-Themen 4
B Void Mehoden Testen Java Basics - Anfänger-Themen 13
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
L Objekte aus einem void in anderen voids verwenden Java Basics - Anfänger-Themen 8
K GUI Button methoden/void Problem Java Basics - Anfänger-Themen 6
S Probleme mit dem rückgabetyp void Java Basics - Anfänger-Themen 8
D Array void Methode erstellen. Java Basics - Anfänger-Themen 12
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
D Compiler-Fehler void is an invalid type for the variable Java Basics - Anfänger-Themen 5
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
S Datentypen float statt void Java Basics - Anfänger-Themen 3
O Probleme mit void java.awt.Component.setBackground(Color c) Java Basics - Anfänger-Themen 2
T Hilfe bei void, int !? Java Basics - Anfänger-Themen 14
U void shift Java Basics - Anfänger-Themen 7
T Geht so was? public void verkaufe (<X implements Produkt& Java Basics - Anfänger-Themen 8
D generische methode <T> void . Java Basics - Anfänger-Themen 9
K void Methode abbrechen Java Basics - Anfänger-Themen 7
M 'void' type not allowed Java Basics - Anfänger-Themen 18
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G <identifier> expected bei public void final Java Basics - Anfänger-Themen 3
H void not allowed? Java Basics - Anfänger-Themen 4
P Void-Aufrufe verursachen IO-Exceptions? Java Basics - Anfänger-Themen 4
T Von Main auf eine Variable in void zugreifen Java Basics - Anfänger-Themen 4
C public void keyPressed(KeyEvent e) Java Basics - Anfänger-Themen 2
N public void und verhalten bei return Java Basics - Anfänger-Themen 2
C Java-Anfang main void public? Java Basics - Anfänger-Themen 5
T void Methode -> keine Chance Java Basics - Anfänger-Themen 6
F public final void getsignature() | anfänger Java Basics - Anfänger-Themen 7
B Eine void innerhalb einer anderen void Java Basics - Anfänger-Themen 7
G in void verändern Java Basics - Anfänger-Themen 5
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
A Instance methods should not write to "static" fields Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
H Static Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S public static boolean Java Basics - Anfänger-Themen 4
L non-static Fehler Java Basics - Anfänger-Themen 16
S Klassenmethode ohne static Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
V the static method should be accessed is a static way Java Basics - Anfänger-Themen 6
NormanPatrickBenner static non-static Java Basics - Anfänger-Themen 82

Ähnliche Java Themen

Neue Themen


Oben