Was bedeutet es, wenn ich eine Methode habe, die Object als Parmeter Typ hat (Java)?

2 Antworten

Wie du schon weißt, erbt jede eigene Klasse von der Klasse Object. Nun enthält die Klasse object zum Beispiel eine equals Methode, die man überschreiben kann:

public boolean equals(Object obj)

Du kannst im Prinzip jedes Objekt jeder Klasse übergeben.

Stell dir vor du hast eine Klasse Lehrer mit den Attributen vorname und nachname.

Dann kannst du innerhalb der Lehrer Klasse die equals Methode überschreiben und ein beliebiges Objekt einer beliebigen Klasse mit dem Lehrer Objekt zu vergleichen:

public class Lehrer() {
	public String name;
	public String nachname;
	
	public Lehrer(name, nachname) {
		this.name = name;
		this.nachname = nachname;
	}




	public boolean equals(Object obj){
		// Wenn obj auch ein Objekt der Klasse Lehrer ist
		if (obj instanceof Lehrer) {
			//obj nach Lehrer casten, da die Klasse Objekt nicht die Attribute name, nachname hat
			Lehrer obj_L = (Lehrer) obj
			// Vergleiche Vor- und Nachname und gebe das Ergebnis zurueck
			return (this.name.equals(obj_L.name) && this.nachname.equals(obj_L.nachname));
        }
		// Wenn obj ein Objekt einer anderen Klasse ist, kann es nicht gleich sein.
        return false;
      }
    }
Woher ich das weiß:Hobby – Beschäftige mich in meiner Freizeit viel mit Computern

Hey,

da ein Object verlangt wird, kannst du (wie du schon meintest) jedes beliebige Object übergeben. Vergleichen kannst du 2 Objekte wie folgt:

objectA.equals(objectB);

Mfg Jannick (L1nd)

Woher ich das weiß:eigene Erfahrung – Aktuelles Studium in angewandter Informatik

oijoiqwdj92 
Beitragsersteller
 13.11.2021, 17:28

Danke dir mein Achi