Heim >häufiges Problem >Vollständig Master-Methodenüberschreibung in Java

Vollständig Master-Methodenüberschreibung in Java

WBOY
WBOYnach vorne
2022-07-29 15:22:451744Durchsuche

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.

Vollständig Master-Methodenüberschreibung in Java

Empfohlene Studie: „Java-Video-Tutorial

1. Bedeutung

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("人在说话");
    }

}

2.4 Beispielcode zum Ausführen eines Screenshots

3. So verwenden Sie das Überschreiben von Methoden

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 Klasse

public class Test03 {
    public static void main(String[] args) {
        Chinese c=new Chinese();
        c.say();
        //当进行方法重写时,调用的是子类的say()方法
    }
}
b Beispielcode Ausführen eines Screenshots

3.2.3 Wenn der Rückgabewerttyp der übergeordneten Klassenmethode ungültig ist, ist auch der Rückgabewerttyp der von der Unterklasse überschriebenen Methode ungültig

a Beispielcode

People-Klasse
@Override
权限修饰符 返回值类型 方法名(形参列表){
    //子类重写的方法的权限修饰符的访问权限必须大于等于父类的,但是父类不能是private
    //当父类的返回值类型为基本数据类型或者为void时,子类方法的返回值类型也应该为对应的基本数据类型或者void
  
}

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;
    }
    //没有写访问权限的话,默认是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 Screenshots

Die 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-Eingabeaufforderungsmethode

Schritte

1 Schreiben Sie zunächst ein englisches @-Symbol an einer Nicht-Methodenposition

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

Schritte

1. Bewegen Sie die Maus zur neu geschriebenen Position

2 Drücken Sie gleichzeitig die Alt-Taste und die Einfügetaste auf der Tastatur

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

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen