JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 139. Überladen und Überschreiben in Java....

Kaffeepause Nr. 139. Überladen und Überschreiben in Java. 5 Java-Methoden, von denen Sie nichts wussten

Veröffentlicht in der Gruppe Random-DE

Überladen und Überschreiben in Java

Quelle: Medium In diesem Artikel erfahren Sie mehr über die Overriding- und Overloading-Methoden in der Java-Sprache. Aufgrund der Tatsache, dass diese beiden Begriffe häufig miteinander verwechselt werden, lohnt es sich, den Zweck der einzelnen Methoden und ihre Anwendungsmöglichkeiten klar zu verstehen. Kaffeepause Nr. 139.  Überladen und Überschreiben in Java.  5 Java-Methoden, von denen Sie nichts wussten – 1

Überlastung

Die Verwendung von mehr als einer Methode mit demselben Namen, aber mit unterschiedlichen Parametern in derselben Klasse oder Methode zwischen Oberklasse und Unterklasse in Java wird als Überladung bezeichnet. Um dies zu vermeiden, wird eine einzige Methode anstelle vieler verwendet, die ähnliche Aktionen ausführen. Lassen Sie es uns anhand eines Beispiels erklären:
public class MethodOverloading {

    public static void main(String[] args){
        MethodOverloading operation = new MethodOverloading();
        operation.mod(12,4);
        operation.mod(12.4,4.2);
    }

    void mod(double a, double b){
        System.out.println(a % b);
    }

    void mod(int a, int b){
        System.out.println(a % b);
    }
}
In diesem Code ist die Operationsmethode überladen. Methoden mit demselben Namen akzeptieren Parameter unterschiedlichen Typs. Die Wahl des Modus wird für die Parameter int und double separat festgelegt . Wenn wir das Programm ausführen, führt operation.mod (12,4) void.mod (int a, int b) aus und operation.mod (12.4,4.2) führt void.mod (double a, double b) aus .

Überschreiben

In Java können wir eine Oberklasse und Unterklassen erstellen, die von dieser Klasse erben. Diese Unterklassen können die Methoden der übergeordneten Klasse, die sie erben, überschreiben und ersetzen. Dies geschieht mit der Overriding-Methode. Dies lässt sich anhand eines Beispiels besser verstehen:
public class MethodOverriding {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.sound();

        Bee bee = new Bee();
        bee.sound();
    }
}

class Animal {
    void sound(){
        System.out.println("Animal sounds");
    }
}

class Cat extends Animal{
    @Override
    void sound() {
        System.out.println("Cat : meow meow");
    }
}

class Bee extends Animal{
    @Override
    void sound() {
        System.out.println("Bee : buzz buzz");
    }
}
In diesem Codebeispiel werden eine Superklasse namens „ Animal “ und Unterklassen namens „ Cat “ und „ Bee“ erstellt , die von dieser Superklasse erben. Die Sound- Methode in der Oberklasse wird überschrieben. Hinweis: Die Trennung überladener Methoden erfolgt in der Kompilierungsphase. Die Trennung überschriebener Methoden erfolgt zur Laufzeit.

5 Java-Methoden, von denen Sie nichts wussten

Quelle: Javarevisited Das Java-Entwicklungsökosystem verfügt über viele Tools, die Programmierer importieren und in ihren Programmen verwenden können. Dazu gehören integrierte Klassen und Methoden. Sie vereinfachen die Arbeit des Programmierers erheblich und ermöglichen ihm, Code besser zu verstehen und zu schreiben. Jeder Entwickler sollte davon wissen. Hier sind 5 Java-Methoden, die recht selten sind, aber bei Ihrer Arbeit sehr nützlich sein können.

1. dekrementierenExakt

decrementExact() ist eine grundlegende Java-Funktion aus der Math- Klasse , die ein gegebenes Argument (Zahl) um eins dekrementiert/subtrahiert und das Ergebnis zurückgibt. Diese Funktion ist das Gegenteil der Funktion incrementExact() . Wenn das angegebene Argument beispielsweise 11 ist, ist das Ergebnis 10. Wenn das Dekrementieren eines Arguments zu einem Überlauf seines Datentyps führt, wird eine Ausnahme ausgelöst. Daher ist bei der Verwendung dieser Funktion Vorsicht geboten, insbesondere bei großen Zahlen. Typischerweise werden für diese Funktion Ganzzahlen verwendet. Syntax:
Math.decrementExact(number);
Beispiel:
System.out.println(Math.decrementExact(11));
// Output: 10

2.getAsDouble

getAsDouble() ist eine Methode, die zur Klasse OptionalDouble gehört . Ein OptionalDouble- Objekt ist eines, das möglicherweise eine doppelte Zahl enthalten kann. Methoden in der Klasse können verwendet werden, um einen in einem Objekt vorhandenen Double-Wert zu bearbeiten oder um anzuzeigen, dass der Double-Wert überhaupt nicht enthalten ist. getAsDouble() ist eine solche Methode und gibt den Double-Wert zurück, falls vorhanden. Andernfalls wird eine NoSuchElementException ausgelöst . Syntax:
OptionalDoubleObject.getAsDouble();
Beispiel:
OptionalDouble num = OptionalDouble.of(15.0);
System.out.println(num.getAsDouble());
// Output: 15.0

3. absExakt

Die absExact()- Methode ähnelt der abs()- Funktion in der Math- Klasse . Es gibt den absoluten Wert einer Zahl zurück, der unabhängig von ihrem Vorzeichen der positive Wert der Zahl ist. Der einzige Unterschied besteht darin, dass dies nur dann geschieht, wenn es genau in seinem Datentyp ( int oder long ) dargestellt wird. Wenn das Ergebnis des Rückgabewerts den ursprünglichen Datentyp überschreitet, wird eine ArithmeticException geworfen . Syntax:
Math.absExact(number);
Beispiel:
System.out.println(Math.absExact(-11));
// Output: 11

4.endetMit

endWith() ist eine integrierte String-Methode, die einen booleschen Wert zurückgibt, abhängig davon, ob der gegebene String mit einem bestimmten Suffix (Endwort/String) in den Parametern endet. Diese Methode ist das Gegenteil der Methode „startsWith()“ , mit der wahrscheinlich viele Entwickler vertraut sind. Syntax:
String.endsWith(String suffix);
Beispiel:
String phrase = "I like bananas";
System.out.println(phrase.endsWith("bananas")); // true
System.out.println(phrase.endsWith("Tandrew")); // false
/* Output:
true
false
*/

5. dividUnisgned

Die Methode „divideUnsigned()“ ist eine Methode aus der Klasse „ Integer “, mit der Sie zwei Zahlen dividieren und das Ergebnis der Division zurückgeben können. Ganzzahlen ohne Vorzeichen können im Vergleich zu regulären Ganzzahlen mit Vorzeichen nur positive Zahlen darstellen. Sowohl Ganzzahlen ohne Vorzeichen als auch Ganzzahlen mit Vorzeichen haben die gleiche Anzahl an Zahlen in ihrem Bereich (die Größe des Bereichs beträgt 65.536 Zahlen). Da vorzeichenlose Ganzzahlen jedoch nicht negativ sein können, ist ihr Maximalwert im positiven Bereich viel höher als der Maximalwert einer regulären Ganzzahl mit Vorzeichen. Um dies zu vereinfachen, können wir uns stattdessen das Beispiel mit vorzeichenbehafteten und vorzeichenlosen Bytes ansehen. Bytes haben einen Bereich von 256 Zahlen. Ein reguläres Byte kann einen Wert von -128 bis 127 haben. Ein vorzeichenloses Byte kann jedoch einen Wert von 0 bis 255 haben. Ansonsten funktioniert die Funktion genauso wie eine reguläre Division. Syntax:
Integer.divideUnsigned(int dividend, int divisor);
Beispiel:
int dividend = 10;
int divisor = 5;
int quotient = Integer.divideUnsigned(dividend, divisor);
System.out.println(quotient);
// Output: 2

Abschluss

Hier ist eine Zusammenfassung der in diesem Artikel behandelten Funktionen und Methoden:
  • decrementExact – verringert/subtrahiert eine gegebene Zahl um 1

  • getAsDouble – Teil der Funktion OptionalDouble , gibt eine Zahl mit einem Double-Wert zurück oder zeigt deren Abwesenheit an

  • absExact – gibt den absoluten Wert einer Zahl zurück, wenn diese als ursprünglicher Datentyp dargestellt werden kann

  • endWith() – gibt einen booleschen Wert zurück, abhängig davon, ob das angegebene Suffix in der angegebenen Zeichenfolge vorhanden ist

  • dividUnsigned() – führt eine normale Division durch und gibt das Ergebnis der Division einer Zahl zurück

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION