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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...