JavaRush /Blogue Java /Random-PT /Pausa para café #105. Por que Strings são imutáveis em Ja...

Pausa para café #105. Por que Strings são imutáveis em Java? Interface em Java e herança múltipla

Publicado no grupo Random-PT

Por que Strings são imutáveis ​​em Java?

Fonte: Dev.to Antes de entender por que Strings são imutáveis ​​em Java, precisamos pensar por que tornamos algo imutável. Pausa para café #105.  Por que Strings são imutáveis ​​em Java?  Interface em Java e herança múltipla - 1Imutável significa que, uma vez criado, não podemos alterá-lo. A única razão pela qual podemos pensar em tornar algo imutável é para sincronização quando usado em conjunto. Esta é a razão pela qual as strings são imutáveis. Em Java, os objetos String são compartilhados e armazenados em cache no String Pool. É um local específico no heap onde as strings são armazenadas e compartilhadas entre vários threads se tiverem o mesmo valor. Por exemplo: em um pool de strings, se já existe uma string com o valor “teste” e o programa deseja criar outro objeto string com o mesmo valor, então ele obterá a mesma referência em vez de criar um novo objeto string. Agora sabemos como as strings são armazenadas no heap. Vamos ver por que eles permanecem inalterados.
  1. A primeira razão para a imutabilidade é a segurança do thread. Como as linhas são compartilhadas entre vários threads no conjunto de linhas, precisamos restringir qualquer thread aleatório para alterá-lo. Qualquer alteração em uma linha pode afetar outros threads que acessam a mesma linha. Se um thread quiser atualizar o valor de uma linha, ele precisará criar outra linha e referenciá-la.

  2. Normalmente usamos String como chave em Map . Se as strings fossem mutáveis, qualquer um poderia alterar o valor das strings e perderíamos a chave real.

Interface em Java e herança múltipla

Fonte: Dev.to Vamos entender o que é herança múltipla. Herança múltipla é um recurso de algumas linguagens de programação orientadas a objetos em que um objeto ou classe pode herdar funcionalidade de mais de um objeto ou classe pai. Pausa para café #105.  Por que Strings são imutáveis ​​em Java?  Interface em Java e herança múltipla - 1Conforme mostrado na imagem acima, uma classe filha de herança múltipla pode ter duas ou mais classes base, mas para conseguir isso precisamos de uma interface.

Interface

Uma interface em Java é o modelo de uma classe. Possui constantes estáticas e métodos abstratos. Ou seja, uma interface só pode conter métodos e variáveis ​​abstratas, não pode ter corpo de método. Ela não pode ser criada da mesma forma que uma classe abstrata.

Então, onde declaramos o corpo desses métodos?

O corpo do método é declarado dentro da classe onde o método é necessário de acordo com os requisitos do programador.

Como declarar uma interface?

Uma interface pode ser declarada usando a palavra-chave interface . Sintaxe:
interface interface_name {abstract methods}

Observação

Para usar uma interface declarada em uma classe, devemos usar a palavra-chave implements .

Implementação?

Primeiro criaremos uma interface de impressão e dentro dela criaremos um método print() abstrato ;
interface printgib{
void print();
}
Agora temos uma interface pronta para uso das classes, então vamos criar as classes abc e gk e implementar a interface nelas.
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");
}
}
Conforme mostrado no código acima, alcançamos herança múltipla e implementamos uma interface. Agora, para executar o código, salve o arquivo e...
javac file_name.java
java abc

Resultado:

Pausa para café #105.  Por que Strings são imutáveis ​​em Java?  Interface em Java e herança múltipla - 2
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION