JavaRush /Blog Java /Random-ES /Pausa para el café #105. ¿Por qué las cadenas son inmutab...

Pausa para el café #105. ¿Por qué las cadenas son inmutables en Java? Interfaz en Java y herencia múltiple.

Publicado en el grupo Random-ES

¿Por qué las cadenas son inmutables en Java?

Fuente: Dev.to Antes de comprender por qué las cadenas son inmutables en Java, debemos pensar en por qué hacemos algo inmutable. Pausa para el café #105.  ¿Por qué las cadenas son inmutables en Java?  Interfaz en Java y herencia múltiple - 1Inmutable significa que una vez creado no podemos cambiarlo. La única razón por la que podemos pensar en hacer algo inmutable es para la sincronización cuando se usan juntos. Ésta es la razón por la que las cadenas son inmutables. En Java, los objetos String se comparten y se almacenan en caché en String Pool. Es una ubicación específica en el montón donde las cadenas se almacenan y se comparten entre varios subprocesos si tienen el mismo valor. Por ejemplo: en un grupo de cadenas, si ya existe una cadena con el valor "prueba" y el programa quiere crear otro objeto de cadena con el mismo valor, obtendrá la misma referencia en lugar de crear un nuevo objeto de cadena. Ahora sabemos cómo se almacenan las cadenas en el montón. Veamos por qué no cambian.
  1. La primera razón de la inmutabilidad es la seguridad de los subprocesos. Dado que las filas se comparten entre varios subprocesos en el grupo de filas, debemos restringir cualquier subproceso aleatorio para cambiarlo. Cualquier cambio en una fila puede afectar a otros subprocesos que acceden a la misma fila. Si un hilo quiere actualizar el valor de una fila, necesita crear otra fila y hacer referencia a ella.

  2. Normalmente usamos String como clave en Map . Si las cadenas fueran mutables, cualquiera podría cambiar el valor de las cadenas y perderíamos la clave real.

Interfaz en Java y herencia múltiple.

Fuente: Dev.to Entendamos qué es la herencia múltiple. La herencia múltiple es una característica de algunos lenguajes de programación orientados a objetos en los que un objeto o clase puede heredar funcionalidad de más de un objeto o clase principal. Pausa para el café #105.  ¿Por qué las cadenas son inmutables en Java?  Interfaz en Java y herencia múltiple - 1Como se muestra en la imagen de arriba, una clase hija de herencia múltiple puede tener dos o más clases base, pero para lograrlo necesitamos una interfaz.

Interfaz

Una interfaz en Java es el modelo de una clase. Tiene constantes estáticas y métodos abstractos. Es decir, una interfaz sólo puede contener métodos y variables abstractos, no puede tener un cuerpo de método. No se puede crear de la misma forma que una clase abstracta.

Entonces, ¿dónde declaramos el cuerpo de estos métodos?

El cuerpo del método se declara dentro de la clase donde se necesita el método según los requisitos del programador.

¿Cómo declarar una interfaz?

Se puede declarar una interfaz utilizando la palabra clave interfaz . Sintaxis:
interface interface_name {abstract methods}

Nota

Para utilizar una interfaz declarada en una clase, debemos utilizar la palabra clave implements .

¿Implementación?

Primero crearemos una interfaz de impresión y dentro de ella crearemos un método abstracto print() ;
interface printgib{
void print();
}
Ahora tenemos una interfaz lista para que la usen las clases, así que creemos las clases abc y gk e implementemos la interfaz en ellas.
public class abc implements printgib{
public void print(){                     //1st implementation of print
System.out.println("I love you 3000");
}
public static void main(String[] args){
abc obj = new abc();
gk obj1 = new gk();
obj.print();
obj1.print();
}
}

class gk implements printgib{
public void print(){                   //2nd implementation of print
System.out.println("I am Gk");
}
}
Como se muestra en el código anterior, logramos la herencia múltiple e implementamos una interfaz. Ahora para ejecutar el código, guarde el archivo y...
javac file_name.java
java abc

Resultado:

Pausa para el café #105.  ¿Por qué las cadenas son inmutables en Java?  Interfaz en Java y herencia múltiple - 2
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION