JavaRush /Blog Java /Random-ES /Pausa para el café #139. Sobrecarga y anulación en Java. ...

Pausa para el café #139. Sobrecarga y anulación en Java. 5 métodos Java que no conocías

Publicado en el grupo Random-ES

Sobrecarga y anulación en Java

Fuente: Medio En este artículo, aprenderá sobre los métodos de anulación y sobrecarga en el lenguaje Java. Debido al hecho de que ambos términos a menudo se confunden, vale la pena comprender claramente el propósito de cada método y sus opciones de aplicación. Pausa para el café #139.  Sobrecarga y anulación en Java.  5 métodos de Java que no conocías - 1

Sobrecarga

Usar más de un método con el mismo nombre pero con diferentes parámetros en la misma clase o método entre superclase y subclase en Java se llama Sobrecarga. Para evitarlo, se utiliza un único método en lugar de muchos que realizan acciones similares. Expliquemos con un ejemplo:
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);
    }
}
En este código, el método de operación está sobrecargado. Los métodos con el mismo nombre aceptan parámetros de diferentes tipos. La elección del modo se determina por separado para los parámetros int y double . Cuando ejecutamos el programa, operación.mod (12,4) ejecuta void.mod (int a, int b) y operación.mod (12.4,4.2) ejecuta void.mod (doble a, doble b) .

Primordial

En Java, podemos crear una superclase y subclases que heredan de esa clase. Estas subclases pueden anular y reemplazar los métodos de la clase principal que heredan. Esto se hace usando el método Anulación. Esto se puede entender mejor con un ejemplo:
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");
    }
}
Este ejemplo de código crea una superclase denominada Animal y subclases denominadas Gato y Abeja que heredan de esa superclase. Se anula el método de sonido en la superclase. Nota: La separación de métodos sobrecargados se produce en la etapa de compilación. La separación de los métodos anulados se produce en tiempo de ejecución.

5 métodos Java que no conocías

Fuente: Javarevisited El ecosistema de desarrollo de Java tiene muchas herramientas disponibles que los programadores pueden importar y utilizar en sus programas. Estos incluyen clases y métodos integrados. Simplifican significativamente el trabajo del programador y le permiten comprender y escribir mejor el código. Todo desarrollador debería conocerlos. Aquí hay 5 métodos Java que son bastante raros, pero que pueden ser muy útiles en su trabajo.

1. decrementoExacto

decrementExact() es una función básica de Java de la clase Math que disminuye/resta un argumento (número) dado en uno y devuelve el resultado. Esta función es lo opuesto a la función incrementExact() . Por ejemplo, si el argumento dado es 11, entonces el resultado es 10. Si disminuir un argumento hace que su tipo de datos se desborde, se genera una excepción. Por lo tanto, es importante tener cuidado al utilizar esta función, especialmente para números grandes. Normalmente, se utilizan números enteros para esta función. Sintaxis:
Math.decrementExact(number);
Ejemplo:
System.out.println(Math.decrementExact(11));
// Output: 10

2.getAsDouble

getAsDouble() es un método que pertenece a la clase OpcionalDouble . Un objeto OptionalDouble es aquel que potencialmente puede contener un número doble. Los métodos de la clase se pueden utilizar para operar con un valor doble presente en un objeto o para indicar que el valor doble no está contenido en absoluto. getAsDouble() es uno de esos métodos y devuelve el valor doble si está presente. De lo contrario, se genera una excepción NoSuchElementException . Sintaxis:
OptionalDoubleObject.getAsDouble();
Ejemplo:
OptionalDouble num = OptionalDouble.of(15.0);
System.out.println(num.getAsDouble());
// Output: 15.0

3. absexactas

El método absExact() es similar a la función abs() de la clase Math . Devuelve el valor absoluto de un número, que es el valor positivo del número independientemente de su signo. La única diferencia es que sólo hace esto si se representa exactamente como su tipo de datos ( int o long ). Si el resultado del valor de retorno excede el tipo de datos original, se lanza una ArithmeticException . Sintaxis:
Math.absExact(number);
Ejemplo:
System.out.println(Math.absExact(-11));
// Output: 11

4.termina con

EndsWith() es un método de cadena incorporado que devuelve un valor booleano dependiendo de si la cadena dada termina con un determinado sufijo (palabra final/cadena) en los parámetros. Este método es lo opuesto al métodostartWith() , con el que muchos desarrolladores probablemente estén familiarizados. Sintaxis:
String.endsWith(String suffix);
Ejemplo:
String phrase = "I like bananas";
System.out.println(phrase.endsWith("bananas")); // true
System.out.println(phrase.endsWith("Tandrew")); // false
/* Output:
true
false
*/

5. dividir sin firmar

El método divideUnsigned() es un método de la clase Integer que te permite dividir dos números y devolver el resultado de la división. Los enteros sin signo, en comparación con los enteros con signo normales, solo pueden representar números positivos. Tanto los enteros sin signo como los enteros con signo tienen la misma cantidad de números en su rango (el tamaño del rango es 65,536 números). Sin embargo, dado que los enteros sin signo no pueden ser negativos, su valor máximo en el rango positivo es mucho mayor que el valor máximo de un entero con signo normal. Para simplificar esto, podemos mirar el ejemplo de bytes con y sin signo. Los bytes tienen un rango de 256 números. Un byte normal puede tener un valor de -128 a 127. Sin embargo, un byte sin signo puede tener un valor de 0 a 255. De lo contrario, la función funciona exactamente igual que la división normal. Sintaxis:
Integer.divideUnsigned(int dividend, int divisor);
Ejemplo:
int dividend = 10;
int divisor = 5;
int quotient = Integer.divideUnsigned(dividend, divisor);
System.out.println(quotient);
// Output: 2

Conclusión

Aquí hay un resumen de las funciones y métodos discutidos en este artículo:
  • decrementExact : disminuye/resta un número determinado en 1

  • getAsDouble : parte de la función OpcionalDouble , devuelve un número con un valor doble o indica su ausencia

  • absExact : devuelve el valor absoluto de un número si se puede representar como el tipo de datos original

  • terminaCon() : devuelve un valor booleano dependiendo de si el sufijo especificado existe en la cadena dada

  • divideUnsigned() - realiza una división normal, devuelve el resultado de dividir un número

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