Hallo :verycool: ,
ich fange jetzt NEU an mich mit Java zu beschäftigen und da tauchen einige Fragen auf :confused:
Hoffe, dass ihr mir helfen könnt :thumb:
So ... ich hab bis jetzt die Variablen nach
public class Sichtbarkeit {
public static void main (String [] args) {
// also hier deklariert und so !!
int zahl, ziffer;
ABER warum ist das auf dem Bild dazwischen??
public class Sichtbarkeit {
static double d=3.0; // und warum steht denn da ein static davor??
public static void main (String [] args) {
:distur: :distur: :ahhh: :ahhh:
Sichtbarkeit der Variablen in Java
-
-
die kurze erklärung ist: weil du sonst nicht von einer statischen methode in der klasse (z.b. main) auf diese variable zugreifen könntest.
die längere beschreibung hat mit objektorientierung zu tun. eine statische variable gehört zu klasse, d.h. jede instanz der klasse greift auf die gleiche variable zu. nicht statische variablen gehören zu der instanz einer klasse, d.h. jede instanz hat seine eigene variable, auf welche andere instanzen der klasse nicht direkt zugreifen können.
eine statische methode gehört auch zu klasse und nicht zu den instanzen. würde man z.b. in einer statischen methode versuchen auf eine nicht statische variable zuzugreifen, würde diese methode nicht wissen welche variable sie verwenden soll, das es diese variable nicht nur einmal gibt sondern für jede instanz einer klasse einmal. -
Wenn Du gerade mit dem Programmieren anfängst, dann solltest Du dich nicht um die Bedeutung statischer Klassenelemente kümmern.
Du hast ein Programmgerüst dieser Art ...
... und schreibst deinen Programmcode zwischen
// ANFANG
und
// ENDEDas war's!
-
ehrlich gesagt, hab auch nicht ganz verstanden, was hier steht :shinner:
Hab versucht im Internet nach den Begriffen, wie Classe, Instanz usw. zu suchen aber bin trotzdem net weiter gekommen :ahhh: :confused: :distur: :shinner:
Zitat von Alex_Kdie kurze erklärung ist: weil du sonst nicht von einer statischen methode in der klasse (z.b. main) auf diese variable zugreifen könntest.
die längere beschreibung hat mit objektorientierung zu tun. eine statische variable gehört zu klasse, d.h. jede instanz der klasse greift auf die gleiche variable zu. nicht statische variablen gehören zu der instanz einer klasse, d.h. jede instanz hat seine eigene variable, auf welche andere instanzen der klasse nicht direkt zugreifen können.
eine statische methode gehört auch zu klasse und nicht zu den instanzen. würde man z.b. in einer statischen methode versuchen auf eine nicht statische variable zuzugreifen, würde diese methode nicht wissen welche variable sie verwenden soll, das es diese variable nicht nur einmal gibt sondern für jede instanz einer klasse einmal. -
Zitat von freakjan
ehrlich gesagt, hab auch nicht ganz verstanden, was hier steht :shinner:
Hab versucht im Internet nach den Begriffen, wie Classe, Instanz usw. zu suchen aber bin trotzdem net weiter gekommen :ahhh: :confused: :distur: :shinner:Wenn man mitm Programmieren anfängt sollte man nicht gleich objektorientierte Programmierung machen
Und wenn man mit objektorientierter Programmierung anfängt, sollte man nicht mit den Begriffsdefinitionen anfangen, sondern mit der Idee dahinter
-
:verycool: danke erstmal für die Mühe und Hilfsbereitschaft der Mitglieder :thumb:
mmhh.... aber das Problem liegt daran, dass unser Prof. auf der FH wie eine Rackete vorgeht :ahhh:
Wir haben uns sehr lange Zeit mit URM beschäftigt :zzz:
Und jetzt in paar Tagen hat er uns mit Java vollgestopft.... da ich nie programmiert habe, bin ich ins schleudern geraten!
Und versuch den verdammten Script zu verstehen! ... ich will das alles verstehen, weil ich mich sehr für programmieren interessiere :verycool: -
Zitat von freakjan
das Problem liegt daran, dass unser Prof. auf der FH wie eine Rackete vorgeht :ahhh:
Wir haben uns sehr lange Zeit mit URM beschäftigt :zzz:
Und jetzt in paar Tagen hat er uns mit Java vollgestopft.... da ich nie programmiert habe, bin ich ins schleudern geraten!
Und versuch den verdammten Script zu verstehen! ... ich will das alles verstehen, weil ich mich sehr für programmieren interessiere :verycool:
Das ändert aber nichts an der Art und Weise, wie Du vorgehen solltest:
1) Zuerst einmal alles in die main-Methode (nicht all zu viel Gedanken über OOP machen)
2) Dann erst OOP angehen.
Wenn Du nur die Weihnachtsferien Zeit hast, um den Stoff aufzuholen, dann kannst Du halt keine Zeit 2 Monate für Punkt 1) investieren ,sondern nur (Hausnummer) 7 Tage.
Das bedeutet ja nicht, dass Du in diesen 7 Tagen ein heuristisches Optimierungsverfahren in die main-Methode quetschen musst. Du beschränkst dich halt auf einfache "Fingerübungen":
*) Größtes Element in einem Array suchen
*) prüfen, ob ein String einen positiven int-Wert repräsentiert
*) Ziffernsumme eines positiven int-Wertes berechnen
So etwas in der Art. Und gehst dann gleich zur OOP über.
Ich will mich nicht aufdrängen, aber wenn Du, so wie Du sagst, noch nie programmiert hast, viel auf einmal aufholen musst, den Stoff aber auch einigermaßen verstehen willst, ich gebe Nachhilfe in Programmieren. Wenn Du interessiert bist, dann schick mir ein E-Mail: nachhilfe4U@gmx.at -
ich danke dir :thumb: ist sehr nett von dir aber, da ich kein Bafög bekommen und auch keine Hilfe von der Stadt oder Eltern, kann ich mir eine Nachhilfe nicht leisten
Naja .. ich werde einfach Fragen stellen bis der Arzt kommt und irgendwann mal hab ich es drauf
GOTT hat bestimmt die Foren erschaffen, damit die armen mit der Hilfsbereitschaft der grosszügigen Menschen wie IHR, weiter kommen :engel:
alsooo seid ihr bereeeitttt :devil: -
solltest du eventuell beispiele zum üben suchen:
http://eprog.sourceforge.net/eprog/da findest du angaben und mögliche lösungen. das ist alles aus unserer lehrveranstaltung "einführung in das programmieren."
manche haben auch ganz gute erklärungen zu ihren lösungen geschrieben. vielleicht hilfts war.
nebenbei kann ich dir bücher "java ist auch eine insel" und "thinking in java" ans herz legen.
-
WwooowW :idea: coool danke :thumb:
die Seite ist echt Hammer: "java ist auch eine insel"
Hab zwar viel im Internet gesucht aber das ist wirklich der HIT :devil:
das ist in Englisch und kann damit leider nicht viel anfangen :confused:
"thinking in java"
und die Seite ist zwar für Fortgeschrittene aber ist auch OK :coolsmile
http://eprog.sourceforge.net/eprog/
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!