Heim >Java >javaLernprogramm >Wie überschreibe ich eine Methode in Java?
Methodenüberschreibung: 1. [toString()]-Methode, gibt ein Objekt in Form einer Zeichenfolge zurück. 2. [equals()]-Methode, vergleicht, ob die Referenzen zweier Objekte gleich sind, Code [sq s2=new sq(5,4);println(s1.equals(s2)].
Umgeschriebene Methode in Java Methode:
Das Umschreiben von Methoden in Java basiert auf einem der drei Hauptmerkmale von Java-Klassen: Vererbung. Ohne Vererbung können wir nicht über das Umschreiben von Methoden sprechen Die übergeordnete Klasse im Programm kann die Anforderungen der Unterklasse nicht erfüllen. Die Unterklasse kann den Inhalt und die Funktion der Methode neu definieren, um die Anforderungen der Unterklasse zu erfüllen. Der folgende Blogger führt Sie dazu, dies herauszufinden .
(1) Definieren Sie eine Polygonklasse
class Polygon{ //属性 private int number_side; //构造器 public Polygon(int number_side) { super(); this.number_side = number_side; } //方法 public int getNumber_side() { return number_side; } public void setNumber_side(int number_side) { this.number_side = number_side; } public void show(){ System.out.println("Number_side is " + this.number_side); } }
Zusätzlich zu den Get- und Set-Methoden gibt es in dieser Klasse auch eine Show-Methode, die die Anzahl der Polygonseiten ausgeben kann 🎜>
(2) Definieren Sie eine von der Polygonklasse geerbte Quadratklasseclass square extends Polygon{ //属性 private double length; //构造器 public square(double length, int number_side) { super(number_side); this.length = length; } //方法 public double getLength() { return length; } public void setLength(double length) { this.length = length; } //输出边数和边长 public void show(){ System.out.println("This is a square"); super.show(); System.out.println("Length is " + this.length); } }Sie können sehen, dass es in der Unterklassenmethode immer noch eine Show gibt, aber die Funktion und Aussage der Methode sind recht Anders als die Show-Methode in ihrer übergeordneten Klasse, da die Funktion der Show-Methode des Unterklassen-Quadrats nicht nur in der Lage sein muss, die Anzahl der gegenüberliegenden Seiten auszugeben, sondern auch die Länge der gegenüberliegenden Seiten. Daher kann die Show-Methode der übergeordneten Klasse zu diesem Zeitpunkt die Anforderungen der Unterklasse nicht erfüllen. Dies ist das Umschreiben von Methoden in Java In anderen Fällen werden in diesem Artikel mehrere häufig verwendete Methoden zum Umschreiben aufgeführt. Unter dem Java.lang-Paket gibt es eine spezielle Klasse Wenn wir eine Klasse erstellen, erben wir sie von der von uns erstellten Klasse. Das Schlüsselwort „extends Object“ wird jedoch weggelassen Häufig verwendete Methoden in der Object-Klasse: 1. toString()-Methode. Diese beiden Methoden werden häufig in Klassen wiederholt, die von Entwicklern erstellt wurden Die Methode toString() gibt ein Objekt in Form einer Zeichenfolge zurück. Zum Beispiel:
Polygon p = new Polygon(3); System.out.println(p.toString());Die hier aufgerufene Methode
-Methode in der Object-Klasse. Die Ausgabe lautet:
toString()
Es ist ersichtlich, dass beim Aufruf der
toString()
In tatsächlichen Anwendungen wird die toString()
-Methode normalerweise überschrieben, um einen bestimmten String-Ausgabemodus für das Objekt bereitzustellen, zum Beispiel:
public class Test { public static void main(String[] args) { Polygon p = new Polygon(3); System.out.println(p.toString()); } } class Polygon{ //属性 private int number_side; //构造器 public Polygon(int number_side) { super(); this.number_side = number_side; } //..................................此处省略其他无关的方法 @Override public String toString() { return "Polygon [number_side=" + number_side + "]";
überschreibt in der Polygonklasse Polygon-Methode, In der Hauptmethode erstellen wir ein Polygon-Objekt p und instanziieren es, indem wir die in Polygon überschriebene Methode
toString()
toString()
toString()
toString()
public boolean equals(Object obj) { return (this == obj); }
-Methode in Object darin besteht, zu vergleichen, ob die Referenzen zweier Objekte vorhanden sind sind gleich. Wenn wir die
-Methode in der Object-Klasse aufrufen:public class Test { public static void main(String[] args) { square s1 = new square(5.2,4); square s2 = new square(5.2,4); System.out.println(s1.equals(s2)); } }
Dann schreiben wir die
um die quadratische Klasse >Methodeequals()
public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; square other = (square) obj; if (Double.doubleToLongBits(length) != Double .doubleToLongBits(other.length)) return false; return true; }Wenn die
-Methode in der quadratischen Klasse erneut aufgerufen wirdequals()
public class Test { public static void main(String[] args) { square s1 = new square(5.2,4); square s2 = new square(5.2,4); System.out.println(s1.equals(s2)); } }
equals()
lautet die Ausgabe des Systems: equals()
Im Vergleich zu vor Fasle ist die Ausgabe von true zu diesem Zeitpunkt darauf zurückzuführen, dass die Methode überschrieben wird und die überschriebene Methode
Das Obige ist das Grundwissen über das Umschreiben von Methoden und einige gemeinsame Punkte. Der Blogger erwähnte zuvor im Kapitel über Polymorphismus: Das Umschreiben von Methoden ist auch eine Manifestation von Polymorphismus. Jetzt können wir wissen, dass die gleichen Methoden toString()
und equals()
in benutzerdefinierten Klassen verwendet werden in der Object-Klasse sind dies auch unterschiedliche Erscheinungsformen derselben Sache, was der Natur des Polymorphismus entspricht.
Empfohlenes Tutorial: „Java-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWie überschreibe ich eine Methode in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!