wenn auch schon oft gefragt (Konstruktor , Instanzen , usw)

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Ihr netten Leute hier ich weiss ich gehe euch jetzt bestimmt auf den Nerv aber kann sich einer vielleicht doch noch mal erbahrmen und einem Anfänger ein paar FRagen beantworten aber bitte

Nicht auf ein Buch verweisen und es bitte bitte sooo einfach wie möglich erklären;-)) ja?

Also was ist ein Konstruktor? Wann brauch ich ihn wie schreibt man ihn wie benutzt man ihn?


Und wo ist denn der unterschied zwischen Variablen und Instanzvariablen?

Und wo bei Methoden und Instanzmethoden?
Genauso warum gibt es methoden die keine Parameter übergeben bekommen ,die aber zum Beispiel mit einem Text machen irgendwas machen . Ich dachte ich muss einer Methode dann auch den text übergeben ;-(


Ich versteh des echt net;_( danke schon mal aber bitte bitte absolute leihe keine Ahnung vom Programieren also bitte versucht es echt mal für dumme ja? als wenn ihr es nem KInd erklärt;-(
 

Sir_Steve

Mitglied
Okay, bin zwar selba ein n00b :oops: aber eine Antwort habe ich, näHHHmlich zum Thema Konstruktor!
Das JAVA eine objektorientierte Sprache ist weißt du hoffe ich. Bedeudet: Man legt Objekte an und arbeitet mit ihnen.
Und BEIM anlegen tritt der Konstruktor in Kraft. Immer wenn du ein Objekt erstellst mit
Klassenname Objektname = new Klassenname(Parameterliste)
wird der Konstruktor aufgerufen und zwar mit den Parametern die du in der Parameterliste angibst.
Den Konstruktor selbst erstellst du so (ich schreib da mal eine kleine Klasse hin):
Code:
class test{
//Hier werden die Attribute des Objekts Test festgelegt
int ErsteZahl, ZweiteZahl;

//das ist der Konstruktor
public test(int Zahl1, int Zahl2){
  this.ErsteZahl = Zahl1;
  this.ZweiteZahl = Zahl2;
}

//das ist eine Methode die einfach die Zahlen ausgibt
public String ausgabe(){
  return("Die Zahlen lauten " + this.ErsteZahl + " und " + this.ZweiteZahl + "!");
}

//jetzt kommt die Main
public static void main(String[] args){

//Objekt anlegen
//hier wird der Konstruktor aufgerufen (bei new)
  test DasIstDasObjekt = new test(1, 2);

//jetzt noch (testweise) die Zahlen ausgeben
  System.out.println(DasIstDasObjekt.ausgabe());
}
}

Wie du siehst erstellt man einen Konstruktor so wie eine normale Methode mit public nur dass er den SELBEN Namen haben muss wie die Klasse (hier test)
Und Sobald du mit NEW ein neues Objekt der Klasse anlegst wird der Konstruktor aufgerufen und das Objekt erstellt.

Ich hoffe ich konnte die helfen, ist im Prinzip eh ned soo schwer!

(ich weiß ned wieso der Code nur grün ist... :D)

grüße Steve
 

Sir_Steve

Mitglied
hm okay:
this ist ein sysnonym das auf das objekt weist dass die methode ausführt.
ich versuche das ma zu erklären:
du definierst methoden in klassen. die methoden können nicht ausgeführt werden wenn du kein objekt von der klasse hast (ausser sie sind mit static definiert...). Wenn du jetzt ein objekt von der klasse anlegst und es objekt1 nennst und noch eins erstellst mit dem namen objekt2 hast du folgendes problem, wenn du eine methode hast die einen wert von einem objekt zurückliefern soll. woher soll die methode wissen welches objekt gemeint ist? deswegegn schreibst du this. wenn die methode dann mit objekt1.methode() aufgerufen wird weiß das prog. dann dass die attribute von objekt1 gemeint sind (wenn du in der methode this.attribut1 hast). jedes this wird also durch den objektnamen ersetzt der die merthode ausführt. wenn du dass verstehst kann du dir nochma die 2. zeile meiner "wahnsinnig tollen" erklärung anschauen und müsstes ihn verstehen!

grüße, Steve
 
G

Guest

Gast
mmhh ja aber es ist doch immer ein unterschied zwischen objekt1 und bjekt2......das weisss die methode doch waas ich meine oder net
 

Sir_Steve

Mitglied
ja.. erm, ich erklär von anfang an!
du bist der progger. du willst eine klasse machen die eine methode hat die ein bestimmtes attribut eines objekts ausgeben soll. du willst dass diese methode für jedes objekt funktioniert also kannst du in der methode nicht
return (objekt1.attribut) schreiben weil sonst immer das selbe rauskommen würde, auch wenn objekt2 die methode ausführt. deswegen THIS.
wenn du return (this.attribut) schreibst gibt die methode den wert des attributes des objektes das die methode ausführt zurück! hoffe es wird langsam klar!

grüße, Steve! 8)
 

Tobias

Top Contributor
High!
Ich glaube, die fehlt ein grundlegendes Verständnis der Objektorientierten Programierung (OOP) -> keine Sorge, das Problem hat am Anfang jeder.

Eine kurze Einführung in die Begrifflichkeiten:

In der OOP geht es im Wesentlichen darum sog. Klassen zu erstellen und anzuwenden. Eine Klasse ist eine Art Bauplan, in dem die Eigenschaften (Variablen) und die Fertigkeiten (Methoden [Funktionen]) des zu erstellenden Objekts festgehalten sind.
Ein Objekt, auch als Instanz einer Klasse bezeichnet, bekommt alle im Bauplan (der Klasse) festgelegten Eigenschaften und Fertigkeiten eingebaut.
Wenn du also in der Klasse "Auto" (das klassische Beispiel) festlegst, das ein Auto eine Farbe, eine Radanzahl sowie die Fertigkeiten Beschleunigen und Bremsen besitzt, so werden später alle Objekte von Auto diese Dinge beherrschen. Somit ist der grosse Unterschied zwischen Instanz-x und x, dass das Instanz-x einem bestimmten Objekt zugeordnet ist und von diesem Objekt verarbeitet bzw benutzt wird.
Ein Konstruktor ist nichts anderes als eine spezielle Fertigkeit, die beim Konstruieren des Objekts, also wenn du es ganz neu anlegst, ausgeführt wird.

Das this ist ein Rückverweis - im Wesentlichen wird es benutzt, um Unklarheiten auszuräumen. Also damit dein Programm weiß, ob es eine lokale Variable oder eine Objektvariable benutzen soll.

mpG
Tobias
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
S Java Counter: nur 1 mal hochzählen auch wenn Abfrage mehrmals zutrifft. Java Basics - Anfänger-Themen 1
S KeyListener aktiv auch wenn minimiert? Java Basics - Anfänger-Themen 4
L Bedingung immer false, auch wenn zwei Strings gleich sind Java Basics - Anfänger-Themen 11
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
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
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
B DateTimeFormatter nach LocalDateTime, wenn dd.MM.yyyy oder dd.MM.yyyy mm:hh Java Basics - Anfänger-Themen 5
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
D Warum nicht true wenn Array leer ist? Java Basics - Anfänger-Themen 8
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
N Was passiert wenn wir Daten auf der Festplatte abspeichern wollen? bzgl. BufferStreams Java Basics - Anfänger-Themen 9
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
C Tabs in JTabbedPane wechseln, wenn Tabs in eigenen Klassen sind Java Basics - Anfänger-Themen 2
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
I Shutdown wenn kein Strom verfügbar Java Basics - Anfänger-Themen 4
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
B FileWatcher : Erst Rückmeldung wenn komplett kopiert? Java Basics - Anfänger-Themen 3
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
Tacofan Hangman - ist der Buchstabe vorhanden wenn ja wo kommt er vor Java Basics - Anfänger-Themen 6
T Klassen In Eingabefeld von externem Programm schreiben wenn angewählt. Java Basics - Anfänger-Themen 6
F Erste Schritte Hausaufgaben-Prob. - Iterative Prog. Zahlen aufsummieren, wenn durch k>0 teilbar. Java Basics - Anfänger-Themen 5
Excess Operatoren Wenn Variable x den Wert y hat, dann mach was Java Basics - Anfänger-Themen 11
J ServerSocket: Problem, wenn Clientverbindung gekappt wird. Java Basics - Anfänger-Themen 1
N Variablen ändern wenn eine andere geändert wird Java Basics - Anfänger-Themen 7
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
D In Arrayfeld schreiben wenn leer Java Basics - Anfänger-Themen 8
T Klasse von erfahren wenn Obertyp Parameter ist Java Basics - Anfänger-Themen 6
T Wenn Schaltjahr ist, soll Februar, einen Tag mehr haben, GUI mit combobox Java Basics - Anfänger-Themen 4
I Zwei Listen: Wenn nicht vorhanden löschen Java Basics - Anfänger-Themen 4
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
DStrohma Operatoren Kleiner-Zeichen in Größer-Zeichen ändern wenn boolen true? Java Basics - Anfänger-Themen 6
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
F Scanner + Stringbuilder geben leeren String aus wenn Umlaute enthalten sind Java Basics - Anfänger-Themen 29
S TextFieldFilter - Wenn Textfeld leer dann setze 0 Java Basics - Anfänger-Themen 9
P Ausnahme, wenn Attribut nicht definiert Java Basics - Anfänger-Themen 4
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
Todesbote Treeset - Wenn bestimmtes Objekt vorkommt Counter erhöhen Java Basics - Anfänger-Themen 6
D jProgressBar soll bei 100% sein wenn sql Abfrage inkl. jTable schreiben fertig ist... Java Basics - Anfänger-Themen 5
W Methoden Ausgabe true wenn nur Ziffern <= 1 vorhanden Java Basics - Anfänger-Themen 9
A Pinabfrage nur wenn Kondition zutrifft Java Basics - Anfänger-Themen 10
S Threads Thread wenn extends schon vergeben Java Basics - Anfänger-Themen 8
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
B Schlüsselworte this - immer oder nur wenn wirklich notwendig? Java Basics - Anfänger-Themen 9
X Wenn Exception dann nochmal try. Java Basics - Anfänger-Themen 7
A Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
S 0 wird negativ, wenn sie mit etwas negativen multipliziert wird. Warum? Java Basics - Anfänger-Themen 4
V Objekt löschen wenn anderes gelöscht wurde Java Basics - Anfänger-Themen 11
P new File wenn File already exists? wie? Java Basics - Anfänger-Themen 2
D Was kommt raus, wenn NaN mit einer Zahl verglichen wird? Java Basics - Anfänger-Themen 5
Anfänger2011 Wie bricht man alles ab wenn eine Bedingung nicht erfüllt ist? Java Basics - Anfänger-Themen 21
S Input/Output Reader: "null" wenn While-Ende Java Basics - Anfänger-Themen 5
L Erste Schritte Wenn Textfield.Text = ... dann Java Basics - Anfänger-Themen 16
O KeyListener funktioniert nur wenn er will Java Basics - Anfänger-Themen 2
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
S ArrayList nur ergänzen wenn Element noch nicht vorhanden Java Basics - Anfänger-Themen 4
ruutaiokwu final wenn immer möglich verwenden? Java Basics - Anfänger-Themen 30
N Serialization, Laden klappt nicht wenn die Klasse geändert wurde Java Basics - Anfänger-Themen 3
G Klasse überschreiben wenn Rückgabe über Methode Java Basics - Anfänger-Themen 6
F While Schleife ausführen, wenn String gleich ist. Java Basics - Anfänger-Themen 2
M Java-Programm wird beendet, wenn ich Spiel öffne... Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben