Heim  >  Artikel  >  Java  >  Was ist Methodenüberladung?

Was ist Methodenüberladung?

青灯夜游
青灯夜游Original
2020-07-18 13:32:095995Durchsuche

Methodenüberladung bezieht sich auf die Definition mehrerer Methoden mit demselben Namen in einer Klasse, aber jede Methode muss unterschiedliche Parametertypen oder eine andere Anzahl von Parametern haben. Eine Methodenüberladung kann sowohl bei gewöhnlichen Methoden als auch bei Konstruktormethoden auftreten. Eine Methodenüberladung kann entweder in derselben Klasse oder in übergeordneten und untergeordneten Klassen auftreten.

Was ist Methodenüberladung?

Methodenüberladung bedeutet wiederholte Methodennamen und unterschiedliche Ladeparameter.

In einer Java-Klasse sind mehrere Methoden mit demselben Namen definiert. Wenn die Methodennamen gleich sind, die Methodenparameter jedoch unterschiedlich sind, einschließlich Typ und Anzahl der Parameter, spricht man von Methodenüberladung. Wenn eine überladene Methode aufgerufen wird, wählt der Java-Compiler eine geeignete Methode aus, indem er die Parametertypen und die Anzahl der Parameter der aufgerufenen Methode überprüft. Methodenüberladung wird häufig verwendet, um Methoden zu erstellen, die ähnliche Aufgaben erfüllen, sich jedoch in der Art der Parameter, der Anzahl der Parameter oder der Reihenfolge der Parameter unterscheiden.

Eine Überladung von Methoden kann sowohl bei gewöhnlichen Methoden als auch bei Konstruktoren auftreten. Eine Methodenüberladung kann entweder in derselben Klasse oder in übergeordneten und untergeordneten Klassen auftreten.

Überladung von Java-Methoden: Rückgabetypen und Modifikatoren können gleich oder unterschiedlich sein. Methoden mit demselben Namen müssen unterschiedliche Parameterlisten haben. Nur unterschiedliche Rückgabetypen reichen nicht aus, um zwei überladene Methoden zu unterscheiden.

Spezifische Spezifikationen

1 Die Methodennamen müssen gleich sein.

2. Die Parameterlisten der Methoden müssen unterschiedlich sein, einschließlich der Art oder Anzahl der Parameter, um verschiedene Methodenkörper zu unterscheiden.

1) Wenn die Anzahl der Parameter unterschiedlich ist, wird der Parametertyp ignoriert!

2) Wenn die Anzahl der Parameter gleich ist, müssen die Parametertypen unterschiedlich sein.

3. Die Rückgabetypen und Modifikatoren von Methoden können gleich oder unterschiedlich sein.

Beispiel:

Anforderung an die Frage: Vergleichen Sie zwei Daten, um festzustellen, ob sie gleich sind.

Die Parametertypen sind zwei Byte-Typen, zwei kurze Typen, zwei int-Typen und zwei lange Typen.

Und testen Sie es in der Hauptmethode

public class CaiNiao{
    
    public static void main(String[] args){
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a,b));
        
        System.out.println((isSame(short)20,(short)20));
        
        System.out.println(isSame(11,22));
        
        System.out.println(isSame(10L,10L));
    }
    
    public static boolean isSame(byte a,byte b){
        System.out.println("两byte参数的方法执行!");
        boolean same ;
        if(a==b){
            same = true;
        }else{
            same = false;
        }
        return same;
    }

    public static boolean isSame(short a,short b){
        System.out.println("两short参数的方法执行!");
        boolean same = a == b ?true:false;
        return same;
    }
    
    public static boolean isSame(int a,int b){
        System.out.println("两int参数的方法执行!");
        return a == b:;
    }
    
    public static boolean isSame(long a,long b){
        System.out.println("两long参数的方法执行!");
        if (a==b){
            return true;
        }
        else{
            return false;
        }
    }
}

Beachten Sie, dass die Überladung von Java-Methoden erfordert, dass Methoden mit demselben Namen unterschiedliche Parameterlisten haben müssen. Nur unterschiedliche Rückgabetypen reichen nicht aus, um die beiden Überladungen zu unterscheiden Lademethode.

Empfohlenes Tutorial: Java-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Methodenüberladung?. 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