Konstruktor in Java - Java Programmieren Lernen - 15

  Рет қаралды 46,526

Jonas Keil

Jonas Keil

Күн бұрын

Пікірлер: 91
@JonasKeil
@JonasKeil 3 жыл бұрын
👇Deine *Unterstützung* macht noch bessere Tutorials möglich: www.patreon.com/user?u=50183366 📢Als Community Java lernen *(Discord)* : discord.gg/wkWe3FvdSu Tutorial-Reihe für Java Beginner: bit.ly/3GKMucx
@dennusch
@dennusch 3 жыл бұрын
Alter ich bin so am struggeln mit Java im Studium und bisher ist alles sehr verständlich von dir erklärt. Danke!
@dennusch
@dennusch 3 жыл бұрын
Kann ich pro Klasse immer nur einen Konstruktor haben?
@JonasKeil
@JonasKeil 3 жыл бұрын
Freut mich sehr dass ich dir helfen kann! Ja du kannst mehrere Konstruktoren verwenden, allerdings müssen sie dann unterschiedliche Argumente haben. Wenn du dir dann ein neues Objekt erstellst wird einfach der Konstruktor genommen, der mit den eingegebenen Parametern übereinstimmt :)
@Cpt-_-Ings
@Cpt-_-Ings 5 ай бұрын
Same, ich glaub das liegt in den Genen von One Piece Fans 🥲
@fcos1921
@fcos1921 21 күн бұрын
@@Cpt-_-Ings was machst du hier du kleine seemann fanboy
@Cpt-_-Ings
@Cpt-_-Ings 21 күн бұрын
@@fcos1921 Seemann ist mein Java Daddy
@bbbernier
@bbbernier Жыл бұрын
Ich guck nur zum Spaß und zur Auffrischung alten Wissens und denk mir: Schade, dass ich vor 20 Jahren nicht solche Lernvideos zur Verfügung hatte. Super gut gemacht!
@Lucifer11392
@Lucifer11392 9 ай бұрын
Vielen Dank für all deine Videos. Besser als jeder Dozent erklärt.
@k13r4
@k13r4 Жыл бұрын
Wow, ich liebe die Art und Weise, wie du Dinge mit einfachen Beispiel so gut auf den Punkt bringen kannst. Finde auch super, dass du immer wieder sagst, was gerade passiert im Programm, und auch wirklich jeden einzelnen Schritt. Außerdem finde ich auch extrem gut, dass du erst einmal die aufwändigeren Wege zeigst, und dann den schnelleren. Daumen hoch! :)
@JonasKeil
@JonasKeil Жыл бұрын
danke dir Kiera
@Swappa0
@Swappa0 2 жыл бұрын
Ich find deine Videos richtig super und sehr verständlich erklärt. Aber das "Laprador" mit "p" triggert mich einfach hart (ja ich weiss, es hat nix mit dem eigentlichen Thema zu tun, aber sonst gibt es an deinem Video halt einfach nix zum meckern :D ).
@fathombarki6858
@fathombarki6858 10 ай бұрын
Jonas, vielen Dank für das Erklären bin die ganze am Kämpfen es zu verstehen aber durch dein Video, ist der Knoten geöffnet. Ich habe genau die gleichen Problem, wie du sie hattest. Ich danke dir für dein Tutorial. EINFACH nur KLASSE.
@HundertsechsCentimeter
@HundertsechsCentimeter Ай бұрын
Du bist absolutes Gold wert, Grüße aus dem 1. Informatik Semester :)
@katume7156
@katume7156 Жыл бұрын
Junge so gut erklärt unfassbar
@CertainlyTrying
@CertainlyTrying 2 жыл бұрын
So gut erklärt, dass ich es gleich beim ersten Mal verstanden habe. Vielen Dank 🙏
@Hannah__23
@Hannah__23 6 ай бұрын
Vielen Dank für das tolle Video. Deine Art zu erklären ist wirklich super und jetz habe ich endlich die Theorie hinter dem Konstruktor verstanden. Vielen, vielen Dank. Mach weiter so. :)
@verschiedenevideos598
@verschiedenevideos598 11 ай бұрын
Goolege, ein Tipp für dich, die Empfehlung am Anfang von dir als Voraussetzung vor ein neuen Thema anzufangen war super hilfsreich und zeitsparend. Ich bitte dass du bei alle deine Videos dasselbe machst.
@itsyuria
@itsyuria Жыл бұрын
Danke, für deinen tollen Videos! Endlich habe ich das Gefühl Java richtig zu verstehen :)
@хакертч-э6ф
@хакертч-э6ф 4 ай бұрын
Ich bedanke mich bei dir herzlich ❤
@Anubis1242
@Anubis1242 2 жыл бұрын
Endlich kapiert. Wieso kann das kein anderer so gut und einfach erklären ey xD Was nützt ein studium wenn man nichts versteht wenn alles so hochgestochen formuliert ist und man gezwungen ist komische Sätze auswendig zu lernen ._. Großen Dank
@JonasKeil
@JonasKeil 2 жыл бұрын
Haha freut mich dass ich dir weiterhelfen konnte😁🙌🏻 Was genau studierst du denn? :)
@Anubis1242
@Anubis1242 2 жыл бұрын
@@JonasKeil Wirtschaftsinformatik im Fernstudium. Vielleicht komm ich die Tage mal auf deinem Discord vorbei :)
@JonasKeil
@JonasKeil 2 жыл бұрын
Ahh verstehe, cool das studiere ich auch gerade😁🙌🏻
@JonasKeil
@JonasKeil 2 жыл бұрын
Ich freu mich wenn du vorbeischaust :))
@markokobiela2927
@markokobiela2927 3 жыл бұрын
Gutes Video. Ich könnte mir vorstellen das es noch übersichtlicher wird wenn du beide Klassen gleichzeitig zeigen würdest ohne zu switchen.
@JonasKeil
@JonasKeil 3 жыл бұрын
Okay, vielen Dank für den Hinweis, die nächsten Videos sind leider schon vorproduziert, in den darauf folgenden werde ich mir den Tipp aber zu Herzen nehmen👍🏻
@sanhill9409
@sanhill9409 2 жыл бұрын
Oh mein Gott, vielen Dank, jetzt hab ich es endlich verstanden 😂🙏🙏👌
@JonasKeil
@JonasKeil 2 жыл бұрын
Hey San, das freut mich sehr! Vielen Dank für den tollen Kommentar!😁🎉
@williamgrierson
@williamgrierson Жыл бұрын
Sehr sehr stark erklärt!
@idunnoidunno7189
@idunnoidunno7189 2 жыл бұрын
Du bist der beste
@JonasKeil
@JonasKeil 2 жыл бұрын
Danke für das Feedback!😁🎉
@JonasKeil
@JonasKeil 2 жыл бұрын
War alles soweit verständlich? :)
@idunnoidunno7189
@idunnoidunno7189 2 жыл бұрын
@@JonasKeil ja, ich finde dich sogar sehr gut, wie du es erklärst vor allem für Anfänger. Mach weiter so 💪🏿
@JonasKeil
@JonasKeil 2 жыл бұрын
@@idunnoidunno7189 mach ich, vielen Dank!😁🎉
@kurwanker4936
@kurwanker4936 9 ай бұрын
Super geiles Video und Dankeschön!
@lover.r3ps
@lover.r3ps 2 ай бұрын
von 10:18 bis 10:50 meintest du/ Sie das der Konstruktor mit der Main classe Hund verbunden ist. ich verstehe aber 2 sachen nicht dadran. 1: wieso braicht man 2 klassen dafür? ich dachte das der Konstruktor direkt in die delbe Klasse zwichen methoden und Attributen steht? 2: wie soll ich das in einer Klausur per Hand schreiben? soll ich das einfsch in 1 verschiedene Codes schreiben nebeneinander oder einfach in einen?
@jamiezocktyt
@jamiezocktyt 3 жыл бұрын
Gutes Video! :)
@JonasKeil
@JonasKeil 3 жыл бұрын
Vielen Dank für dein Feedback. Freut mich sehr wenn es dir gefallen hat! :)
@gulistan2112
@gulistan2112 Жыл бұрын
Danke. So gut erklärt :)
@stabilerj
@stabilerj 2 жыл бұрын
wirklich sehr sehr gut erklärt, vielen Dank!!!
@JonasKeil
@JonasKeil 2 жыл бұрын
Ich danke DIR für das Kompliment!😁 Schön dass ich dir helfen konnte :)
@stabilerj
@stabilerj 2 жыл бұрын
@@JonasKeil das Lustige an der Sache ist, dass ich Konstruktoren schon behandelt hatte aber ich nie verstanden habe was es mit dem "this" auf sich hatte. Endlich eine richtige Aufklärung :D
@JonasKeil
@JonasKeil 2 жыл бұрын
@@stabilerj freut mich so sehr dass ich dir da helfen konnte :). Ich weiß wie weird das am Anfang aussieht und es ist so schön dass du es durch das Video verstehen konntest!!!
@alexandrazeh3275
@alexandrazeh3275 Жыл бұрын
4:14 warum steht da nicht if(kannBellen == true) ?
@tabasher
@tabasher 3 жыл бұрын
DANKE für deine Videos und für die Tolle Playlist :D, ich habe nun eine Frage zu den Konstruktoren: ich benutze Eclipse als IDE und wo ich dein Projekt 1:1 nach gemacht habe (nachdem ich mit meinem gescheitert bin), kommt bei mir in der Main als Meldung: "age cannot be resolved to a variable", kannst mir da weiterhelfen? 10:00
@JonasKeil
@JonasKeil 3 жыл бұрын
Hey, vielen Dank für dein Feedback, ich kann mir ungefähr vorstellen wo das Problem liegt aber am Besten ist es, wenn du im Discord ein Screenshot teilst, dann können wir dir am Besten weiterhelfen :)
@raka3003
@raka3003 Жыл бұрын
So alt das Video, aber dennoch so geil😂👌
@dw76
@dw76 7 ай бұрын
Hallo Jonas. Vielen Dank für deine Videos. Ich mag die sehr. Frage noch: was hast du eingestellt, dass du diese tollen Schriftfarben hast, dass du z.B. bei "this.alter = alter" erkennst, welches Alter zu welchem gehört? ich hab nur grün für Strings und braun für Schlüsselworte.
@Allyspinkyworld
@Allyspinkyworld 5 ай бұрын
wäre es also korrekt wenn man sagt das Konstruktiven dazu dienen, dass man vereinfacht auf die Starwerte(Attribute zugreifen kann ?
@ali-ou5ne
@ali-ou5ne Жыл бұрын
Bester Mann!
@lily-ot6ze
@lily-ot6ze Жыл бұрын
Eine Frage. Wird ein Konstruktor immer benötigt? egal was für eine klasse das ist? oder gibt es Ausnahmen, wo ein Konstruktor nicht benötigt wird?
@the_kischt8942
@the_kischt8942 3 жыл бұрын
ein Frage zum Schlusspart: Wir wollen ja mit dem Array ein boolean wert ausgeben, deshalb verwenden wir den counter der uns im Prinzip den Boolean wert als Zahl darstellt, da ansonsten mit dem alleinigen Zugriff nach der For- schleife mit s.o.pln(hunde[i].kannpfotegeben); nur true ausgegeben werden würde oder?
@JonasKeil
@JonasKeil 3 жыл бұрын
Ganz genau, du hast das Thema auf jeden Fall verstanden👍🏻
@alicehallow4513
@alicehallow4513 9 ай бұрын
habs jetzt zum ersten Mal endlich verstanden * cry *
@crowlfeel
@crowlfeel Жыл бұрын
TOP!
@YO-xm6hr
@YO-xm6hr 3 жыл бұрын
Top Videoreihe! Hätte mal eine Frage, wie kann ich jetzt am besten üben? Die Basics sind garkein Problem aber wenn die Aufgaben etwas komplexer werden, habe ich Schwierigkeiten… hast du da einen Tipp?
@JonasKeil
@JonasKeil 3 жыл бұрын
Also am Besten geht das natürlich, wenn du dich daran versuchst, eigene Programme und Spiele zu entwickeln, weil du dann alles was du gelernt hast in Verbindung bringen musst. Ich habe im Patreon eine ganze Reihe von Ideen für solche Programme gepostet. Ich werde aber auf dem Kanal auch bald zwei Videos zu Spielen in Java hochladen, die die ein besseren Gesamtüberblick geben sollten. Hast du denn Beispiele für komplexe Aufgaben? Dann könnte ich mal ein Video dazu machen, wie man so etwas am Besten lösen kann :)
@YO-xm6hr
@YO-xm6hr 3 жыл бұрын
@@JonasKeil super, danke dir für die Rückmeldung:) Aufgabe ist leider zu lang, konnte es nicht per Kommentar anhängen :/
@JonasKeil
@JonasKeil 3 жыл бұрын
Bist du im Discord? Dann kannst du es da einfach rein schicken
@YO-xm6hr
@YO-xm6hr 3 жыл бұрын
@@JonasKeil nein, wo finde ich deinen Discord? Habe ihn leider nicht gefunden
@JonasKeil
@JonasKeil 3 жыл бұрын
discord.gg/7BhRzhQX
@gummibear654
@gummibear654 2 жыл бұрын
Einen Hinweis zu Arrays von Objekten wäre noch hilfreich gewesen oder ich habe es überhört. Ich war verwirrt beim 11:25 "Hund[] hunde = {...}". Dennoch gut erklärt.
@JonasKeil
@JonasKeil 2 жыл бұрын
Hey Bligher, danke für deinen Kommentar! So wie du Arrays von bestimmten Datentypen machen kannst, kannst du auch Arrays aus bestimmten Objekten machen. Ich denke aber auch, dass ich das an der Stelle noch ausführlicher erklären könnte. Ich denke dran, wenn ich dieses Video überarbeite :)
@Gamuss12345
@Gamuss12345 Жыл бұрын
Hey Jonas! Danke für die tolle Reihe! Wie printe ich denn ein Objekt? Also zum Beispiel nur einen Hund mit all seinen Attributen.
@イタチ-j2q
@イタチ-j2q 11 ай бұрын
Wenn du dir eine toString-Methode in der Klasse "Hund" erstellt hast kannst du einfach in der main-Methode in der Klasse Main System.out.println() nutzen und in die Klammer den Namen des Objekts das du erstellt hast schreiben schreiben. Also wenn du deinen Hund mops genannt hast schreibst du System.out.println(mops). In der toString()-Methode kannst du die Ausgabe so formatieren wie dus haben willst (Schau am besten mal im Internet zu toString()-Methode wenn du die noch nicht kennst)
@stickerguyhex
@stickerguyhex 5 ай бұрын
thx
@StyleTechnique
@StyleTechnique 2 жыл бұрын
Eine Sache die ich beim Schlüsselwort "this" nicht verstanden habe ist, im Konstruktor kann man das Ganze auch ohne "this" machen. Doch welchen Unterschied macht es wirklich? Ich habe zwar einige Artikel gelesen, wo das erklärt wird, aber so wirklich schlau bin ich trotzdem nicht geworden, weil halt folgendes trotzdem zutrifft: Laut Artikel dient es zur Vermeidung von Namenskollisionen. Das macht für mich aber irgendwie nicht viel Sinn, weil... nehmen wir die Klasse Hund und davon zur Vereinfachung lediglich das Klassenattribut "int alter". Dann kann man im Konstruktor sowohl *_this.alter = alter_* schreiben, als auch *_alter = alter_* wobei das Links vom Gleich-Zeichen befindende _alter_ sich auf das _Klassenattribut_ bezieht und das rechts liegende auf den _formalen Parameter im Methodenkopf des Konstruktors_ . Java kann hier ganz klar zwischen beiden unterscheiden und auch jeder Programmierer sollte das üblicherweise können, weil man weiß dass formale Parameter also Variablen die im Methodenkopf definiert sind nur solange existieren wie die Methode durchlaufen wird in der die Variable definiert bzw übergeben wurde. Sobald man die Methode verlässt verschwindet die Variable alter aus dem Methodenkopf und deren Wert ist - wie bei uns formuliert - in der Klassenvariable alter abgespeichert. Und wenn wir nun mehrere dieser Objekte ohne this so erzeugen würden würde jedes Objekt trotzdem seine eigenen Werte haben. Es sei denn wir übergeben bei Erzeugung keine anderen Werte. Also wo liegt da dann noch der Zweck? Abgesehen das beim Zurückliefern eines Objekts ein bisschen Schreibarbeit gespartwerden kann. Weil "return this;" durchaus kürzer ist als alles andere... Hoffe ich konnte mein Verständnisproblem darstellen. Wäre echt dankbar für eine Auflösung dieses Knotens. 😅
@JonasKeil
@JonasKeil 2 жыл бұрын
Hey, ich versuch dir mal den Unterschied an einem Beispiel zu erklären. Stell dir die folgender Klasse Hund vor: public class Hund { int alter; String name; public Hund(int alter, String name) { this.alter = alter; this.name = name; } } Der Hund hat zwei Attribute + einen Konstruktor. In der Main Klasse erstellen wir uns ein neues Hund Objekt. public class Main { public static void main(String[] args) { Hund hund = new Hund(12, "Bello"); System.out.println(hund.alter); } } Die Ausgabe ist 12. Wenn wir jetzt vom Hund Konstruktor das "this" entfernen, dann sieht die Klasse so aus: public class Hund { int alter; String name; public Hund(int alter, String name) { alter = alter; name = name; } } Wenn wir jetzt das Programm starten, dann ist die Ausgabe 0. Das liegt daran, dass hier dem übergebenen Wert alter noch einmal das alter zugewiesen wird. Hier steht also nicht anderes als "12 = 12" und "Bello = Bello". "this" brauchst du also, um unterscheiden zu können zwischen dem übergebenem "alter" und dem Attribut der Klasse "alter". Hilft dir das Weiter? :) LG Jonas
@ottootto8608
@ottootto8608 2 жыл бұрын
Guten Tag, zunächst danke dir für die wunderschöne Videos. Kannst du bitte mir erklären, was der Unterschied zwischen Attribut mit public und ohne sichtbarkeitsmodifizierer. Z.B.; Public class Hund { String color; public String color; } In den beiden Fällen kann man auf dieses Attribut von anderen Klassen zugreifen. Viele Grüße
@JonasKeil
@JonasKeil 2 жыл бұрын
Hey otto, wenn du vor dein Attribut keinen Sichtbarkeitsmodifizierer setzt, dann ist es standardmäßig auf package-private. Das heißt du kannst dann wirklich nur auf Attribute von Klassen zugreifen, die sich im gleichen Paket befinden :)
@ottootto8608
@ottootto8608 2 жыл бұрын
@@JonasKeil vielen Dank
@JonasKeil
@JonasKeil 2 жыл бұрын
Gern geschehen :)
@LAZIO14
@LAZIO14 12 күн бұрын
I love germans! Thanks!
@user-ho9fq7bm7v
@user-ho9fq7bm7v 26 күн бұрын
Das wichtigste fehlt. Wie wird der Konstruktor der Oberklasse aufgerufen? Wie geschieht die Parameterübergabe dabei?
@stripedtee4572
@stripedtee4572 11 ай бұрын
heißt es nicht labrador?
@WilderCraf
@WilderCraf 2 жыл бұрын
Ich weiß einfach nicht wie ich mir Java installieren kann bzw. wie ich das Programm dann auch starten kann. Ich benutze noch online Java, aber ein ordentliches Programm könnte das viel besser ersetzen.
@JonasKeil
@JonasKeil 2 жыл бұрын
Schau dir mal das Video an zum Thema Java installieren :)
@JonasKeil
@JonasKeil 2 жыл бұрын
Hier der Link: kzbin.info/www/bejne/opKUaI2NZbh0i7s
@WilderCraf
@WilderCraf 2 жыл бұрын
@@JonasKeil Danke :)
@JonasKeil
@JonasKeil 2 жыл бұрын
@@WilderCraf Gern geschehen :)
@ivankonjaretsev8574
@ivankonjaretsev8574 2 ай бұрын
ich bin trotzdem noch zu blöd den Konstruktor zu 100% zu verstehen.
@MrShinobi1982
@MrShinobi1982 2 жыл бұрын
Videos sind super. Und Fokus ist auf Java! Aber Objekt in Java sollen ähnlich dem realen Leben sein. Hund laprador existiert so nicht. Du meinst laprador = labrador ;)
@aice336
@aice336 9 ай бұрын
i refuse to spell labrador with a p .. wth
@mikehog9194
@mikehog9194 Жыл бұрын
gutes video aber dass du labrador mit p schreibst triggert mein auge schon hart
@avu4922
@avu4922 5 ай бұрын
Hier meine Lösung ^^, InteliJ hat mein for verbessert (laut InteliJ) ``` System.out.println("Wie viele können Pfote geben?"); int x = 0; for (Hund hund : hunde) { if (hund.kannPfoteGeben) x++; } System.out.println(x); ```
@poppi1
@poppi1 Жыл бұрын
Warum schreibst nicht gleich rein der Laprador ist 4 Jahre alt….? Das ist das was ich nicht verstehe….ja weil Anfänger bin….mir geht das nicht irgendw.rein 😅
@alexandrazeh3275
@alexandrazeh3275 Жыл бұрын
weil "laprador" ein erstelltes Objekt aus der Klasse Hund ist. In der Klasse Hund wurde festgelegt, was für Attribute die erzeugten Objekte haben dürfen (darunter int alter). Wenn du das laprador-Objekt erstellst dann übergibst du ja in diesem Sinne doch direkt das alter 4 (siehe 9:05). Ich weiß nicht ganz ob ich deine Frage richtig verstehe, aber doch, er schreibt ja gleich rein dass der Labrador 4 Jahre alt ist. Dafür verwendet er ja die Konstruktoren
Rückgabewerte - Java Programmieren Lernen - 16
12:43
Jonas Keil
Рет қаралды 22 М.
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Konstruktor - Objektorientierte Programmierung in Java 3
4:52
Informatik - simpleclub
Рет қаралды 192 М.
Klassen und Objekte EINFACH erklärt und in JAVA programmiert
10:14
VERERBUNG in Java 👪 - Java Programmieren lernen - 33
8:00
Jonas Keil
Рет қаралды 24 М.