Ist diese Überladen, Methoden mit gleichen Namen in verschiedenen Klassen und unterschiedlichen Signatur?

Wenn ich den folgenden code in Java:

class A {

    public int add(int a , int b) {
        return (a+b);
    }
}

class B extends A {
    public float add(float a , float b) {
        return (a+b);
}

In diesem besonderen Fall die sub-Klasse ist nicht gerade das überschreiben der Basis-Klasse add Funktion, wie Sie verschiedene Signaturen und das Konzept der überlastung tritt nur auf, wenn Sie in dem gleichen Umfang. Also, ist die Funktion add(float , float) in der sub-Klasse B behandelt, als eine völlig neue Funktion und das Konzept zu überladen und das überschreiben ist nicht anwendbar, es? Und ist es verwenden, "Statische Bindung" oder "Dynamische Bindung'?

  • Nur ein Tipp: Klassennamen in Java sollten beginnen mit einem Großbuchstaben.
  • Ich glaube nicht, es ist obligatorisch..
  • Es ist nicht zwingend, aber es hilft bei der Lesbarkeit usw.
  • Deshalb schrieb ich 'sollte'.
  • Ja , Stimmt. Vielen Dank für den Edit.
  • Sehr ilustrative: programcreek.com/2009/02/...

Schreibe einen Kommentar