Heim >häufiges Problem >Vollständig Master-Methodenüberschreibung in Java
Dieser Artikel vermittelt Ihnen relevantes Wissen über Java Nachdem die Unterklasse die übergeordnete Klasse geerbt hat, können Sie in der Unterklasse eine Methode mit demselben Namen und denselben Parametern wie die übergeordnete Klasse schreiben, um die Methode derselben zu realisieren Name und die gleichen Parameter in der übergeordneten Klasse. Wir nennen diesen Prozess das Umschreiben von Methoden. Schauen wir uns das an. Ich hoffe, es wird für alle hilfreich sein.
Empfohlene Studie: „Java-Video-Tutorial“
Nachdem eine Unterklasse eine übergeordnete Klasse geerbt hat, können Sie in der Unterklasse eine Methode mit demselben Namen und denselben Parametern wie die übergeordnete Klasse schreiben Um Methoden mit demselben Namen und denselben Parametern zu implementieren, nennen wir diesen Prozess Überschreibung 2.1 Wenn die Methode der übergeordneten Klasse die Anforderungen der Unterklasse nicht erfüllen kann Schreiben Sie diese Methode in der Unterklasse um Beim Aufrufen der Unterklasse ist die Ausgabe chinesischsprachig. Offensichtlich funktioniert der direkte Aufruf der Methode nicht, daher muss die say-Methode in der Unterklasse neu geschrieben werden
public class Peple { private String name; private String sex; private int age; private int weight; public Peple() { } public Peple(String name, String sex, int age, int weight) { this.name = name; this.sex = sex; this.age = age; this.weight=weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } public void say(){ System.out.println("人在说话"); } }
3.1 Grundlegende Syntax
public class Chinese extends Peple{ public Chinese() { } @Override public void say() { System.out.println("中国人在说话"); } }
3.2 Detaillierte Analyse
3.2.1 Zugriffsberechtigungen für überschriebene Methoden durch Unterklassen Es sollte sein größer oder gleich der Zugriffsberechtigung der Methode der übergeordneten Klasse. a Beispielcode Rückgabe der Methode der übergeordneten Klasse: Wenn der Werttyp ein Basisdatentyp ist, ist der Rückgabewerttyp der von der Unterklasse überschriebenen Methode auch der entsprechende Basisdatentyp Klassepublic class Test03 { public static void main(String[] args) { Chinese c=new Chinese(); c.say(); //当进行方法重写时,调用的是子类的say()方法 } }b Beispielcode Ausführen eines Screenshots
@Override 权限修饰符 返回值类型 方法名(形参列表){ //子类重写的方法的权限修饰符的访问权限必须大于等于父类的,但是父类不能是private //当父类的返回值类型为基本数据类型或者为void时,子类方法的返回值类型也应该为对应的基本数据类型或者void }
public class Peple { private String name; private String sex; private int age; private int weight; public Peple() { } public Peple(String name, String sex, int age, int weight) { this.name = name; this.sex = sex; this.age = age; this.weight=weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } //没有写访问权限的话,默认是default访问权限 void say(){ System.out.println("人在说话"); } }Test03-Klasse
public class Chinese extends Peple{ public Chinese(){ } //父类say方法的访问权限为default,子类say方法的访问权限为public, // 符合子类方法访问权限大于等于父类方法访问权限的要求 @Override public void say() { System.out.println("中国人在说话"); } }b Beispielcode zum Ausführen eines Screenshots
3.2.4 Wenn die Methode der übergeordneten Klasse durch Static geändert wird, kann die Unterklasse die Methode nicht überschreiben
a Fehlerbeispielcode
People-Klasse
public class Test03 { public static void main(String[] args) { Chinese c=new Chinese(); c.say(); } }Chinesische Klasse
public class Peple { private String name; private String sex; private int age; private int weight; public Peple() { } public Peple(String name, String sex, int age, int weight) { this.name = name; this.sex = sex; this.age = age; this.weight=weight; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } public double add(int a,int b){ return a+b; } }Test03-Klasse
public class Chinese extends Peple{ public Chinese(){ } @Override public double add(int a,int b) { return a+b+1; } }b Beispielcode zum Ausführen eines ScreenshotsDie Fehlermeldung, die von der Idee beim Kompilieren ausgegeben wird
Die Fehlermeldung, die nach dem erzwungenen Ausführen angezeigt wird
3.3 Methode Re- Einige Tipps zum Schreiben
3.3.1 Methode kopieren
Schritte
1. Kopieren Sie zunächst direkt (Strg+C) die Methode in der übergeordneten Klasse, die von der Unterklasse überschrieben werden muss
2. Einfügen (Strg+V) in die Unterklasse
3. Ändern Sie die Funktionen in der Unterklasse, um die Umsetzung von Anforderungen zu erleichtern, die von der übergeordneten Klasse nicht erfüllt werden können
Operations-Screenshots werden angezeigt 3.3 .2 Compiler-EingabeaufforderungsmethodeSchritte1 Schreiben Sie zunächst ein englisches @-Symbol an einer Nicht-Methodenposition2. Wählen Sie „Methoden überschreiben/implementieren“ aus.3. Klicken Sie darauf und es erscheint ein Popup-Fenster zur Auswahl der Überschreibungsmethode.
4 Wählen Sie die entsprechende Methode aus, die gemäß den Eingabeaufforderungen neu geschrieben werden muss in der Unterklasse generiert werden
6. Entfernen Sie die automatisch generierte erste Zeile in der generierten überschreibenden Methode und schreiben Sie dann entsprechend den Anforderungen entsprechende Anweisungen in den Methodenkörper 3.3.3 Tastenkombinationsmethode
Schritte3. Wählen Sie im Popup-Feld „Methoden überschreiben“ aus.
4 Nach dem Doppelklicken wird eine Schnittstelle angezeigt, die von der Unterklasse überschrieben werden soll Klicken Sie auf die Schaltfläche „OK“, die erforderliche Überschreibungsmethode wird generiert.
6. Entfernen Sie die automatisch generierte erste Zeile in der überschriebenen Methode und schreiben Sie dann die entsprechende Anweisung in den Methodenkörper Empfohlenes Lernen: „Java-Video-Tutorial
》Das obige ist der detaillierte Inhalt vonVollständig Master-Methodenüberschreibung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!