Heim  >  Artikel  >  Java  >  Mit welchem ​​Mechanismus implementiert Java Polymorphismus?

Mit welchem ​​Mechanismus implementiert Java Polymorphismus?

Guanhui
GuanhuiOriginal
2020-06-01 10:59:495147Durchsuche

Mit welchem ​​Mechanismus implementiert Java Polymorphismus?

Was ist der Implementierungsmechanismus von Polymorphismus in Java

Der Mechanismus zur Implementierung von Polymorphismus in Java besteht darin, sich auf Referenzen von übergeordneten Klassen zu verlassen Schnittstellen, die auf Unterklassen verweisen, wodurch die Eigenschaften mehrerer Formen eines Objekts realisiert werden. Die Referenz ihrer übergeordneten Klasse zeigt zur Laufzeit dynamisch auf die spezifische Instanz im Typ der Referenzvariablen, sondern entsprechend der im Typ der Referenzvariablen definierten Methode.

Einfaches Beispiel

Person.java

import java.util.Scanner;

public class Person {
    public int salary;
    public int allSalary(){
        return 0;
    }
    public static void main(String[] args) {
        Person p = null;

        for (int n = 0; n < 3; n++) {
            @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个1-3的数字:\n1 is Teacher\n2 is Scientis\n3 is Waiter");
            int i = sc.nextInt();
            //分别指向了不同的子类,输出的结果是不一样的
            if (i == 1) {
                p = new Teacher(5000);
                System.out.println(p.allSalary());
            } else if (i == 2) {
                p = new Scientist(5000);
                System.out.println(p.allSalary());
            } else if (i == 3) {
                p = new Waiter(5000);
                System.out.println(p.allSalary());
            } else {
                System.out.println("?\n请输入1-3");
            }

        }
}
}

Scientist .java

 public class Scientist extends Person{
    public Scientist(int salary){
        this.salary = salary;
    }

    public int allSalary(){
        int aa = salary*12+36500;
        System.out.print("五五开一年的工资:");
        return aa;
    }
}

Kellner .java

public class Waiter extends Person{
    public Waiter(int salary){
        this.salary = salary;
    }

    public int allSalary(){
        int aa = salary*12;
        System.out.print("服务员一年的工资:");
        return aa;
    }
}

Teacher .java

public class Teacher extends Person{
    public Teacher(int salary){
        this.salary = salary;
    }

    public int allSalary(){
        int aa = salary*12+3650;
        System.out.print("教师一年的工资:");
        return aa;
    }
}

Empfohlenes Tutorial: „Java Tutorial

Das obige ist der detaillierte Inhalt vonMit welchem ​​Mechanismus implementiert Java Polymorphismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn