Zum Inhalt springen

Brauche Hilfe ich verstehe das Java-Programm nicht


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich habe gerade ein Java-Programm vor mir liegen und versuche es zu verstehen aber ich komme an manchen Stellen gar nicht dahinter, was die zu bedeuten haben. ich Würde mich freuen, wenn ihr mir helfen könntet (ich habe in 10 Tagen eine wichtige Prüfung)

Also ein Teil des Programms sieht so aus:

public class ClickMe extends Applet implements MouseListener {

private int x=-1, y=-1;

private static int RADIUS = 7;

public void paint(Graphics g) {

this.drawBackground(g);

}

public void drawBackground(Graphics g) {

g.setColor(Color.blue);

g.fillRect(0, 0, this.getSize().width - 1, this.getSize().height - 1);

g.setColor(Color.black);

g.drawRect(0, 0, this.getSize().width - 1, this.getSize().height - 1);

}

Hier meine Fragen:

Welche Funktion in der Methode paint hat (Graphics g)?

Was bedeutet die Zeile "this.drawBackground(g);"?

Was genau ist dieses "this" und welche funktion hat es?

Warum wurde in der Methode drawBackground "(Graphics g)" nochmal definiert?

Geschrieben

Welche Funktion in der Methode paint hat (Graphics g)?

Wie du schon richtig gesagt hast, paint(Graphics) ist eine Methode. Und Graphics g ist 1 Parameter der an diese Methode übergeben wird.

Was bedeutet die Zeile "this.drawBackground(g);"?

Diese Zeile ruft einfach nur die Methode drawBackground(Graphics), die in dieser Klasse definiert wurde, auf und übergibt das Graphics-Objekt an diese Methode

Was genau ist dieses "this" und welche funktion hat es?

this ist eine Referenz auf das Objekt dieser Klasse ("ClickMe") zur Laufzeit.

Warum wurde in der Methode drawBackground "(Graphics g)" nochmal definiert?

Weil die Methode das Graphics-Objekt bearbeitet, und damit es dieses überhaupt "kennt" muss es auch bei dieser Methode als Parameter übergeben werden.

Also wenn du sagst du hast bald ne Prüfung vor dir, in der du das brauchst, würde ich dir sehr dringend empfehlen entweder deine Unterlagen nochmal durchzugehen, oder dir ein ordentliches eBook oder Tutorial im Internet zu suchen, in dem du nochmal die Grundlagen der Programmierung durchgehst...Ansonsten dürfte die Prüfung nen Reinfall werden...

Geschrieben

Hallo Dragon8 und danke für deine Hilfe. ich habe schon zwei 2 bücher java ist auch eine Insel und Java von Kopf bis Fuß + die Skripte und sonstige Leermaterial aber für manche Sachen finde ich einfach keine plausible Erklärung.

Kannst du auf diesen Referenz this etwas nähr eingehen evtl. mit einem Beispiel?

Geschrieben

Servus,

das mit dem this ist einfacher als man erst mal glaubt. Nehmen wir an, Du hast eine Klasse Person mit den Eigenschaften firstname und lastname und der folgenden Methode:


public void setFirstname(String newFirstname) {

    this.firstname = newFirstname;

}

Dann bezieht sich das this.firstname auf die Instanz der Klasse Person, auf der gerade die Methode setFirstname aufgerufen wird. Im folgenden Ausschnitt wirds hoffentlich deutlicher:

    Person person = new Person();


    person.setFirstname("Heribert");

Hier hast Du eine konkrete Instanz von Person in der Variablen person gespeichert. Beim Aufruf der Methode setFirstname wird mit this.firstname der Vorname der konkreten Instanz "person" aus dem zweiten Codeausschnitt verändert. this bezieht sich also innerhalb einer nichtstatischen Methode immer auf das konkrete Objekt zum Zeitpunkt eines Methodenaufrufs.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...