Índice:

Como podemos tornar a classe imutável em Java com o campo de data?
Como podemos tornar a classe imutável em Java com o campo de data?

Vídeo: Como podemos tornar a classe imutável em Java com o campo de data?

Vídeo: Como podemos tornar a classe imutável em Java com o campo de data?
Vídeo: How to create Immutable Class in Java | User Defined Custom Immutable Class in Java 2024, Novembro
Anonim

Vamos entender o que essas diretrizes significam, na verdade, criando uma classe imutável com objeto mutável com o campo Data

  1. Não forneça métodos “setter” - métodos que modificam Campos ou objetos referido por Campos .
  2. Faço tudo Campos final e privado.
  3. Não permita que subclasses substituam métodos.

Portanto, como podemos tornar uma classe imutável em Java?

Classe imutável em Java

  1. Declare a classe como final para que não possa ser estendida.
  2. Torne todos os campos privados para que o acesso direto não seja permitido.
  3. Não forneça métodos setter para variáveis.
  4. Torne todos os campos mutáveis finais para que seu valor possa ser atribuído apenas uma vez.
  5. Inicialize todos os campos por meio de um construtor realizando uma cópia profunda.

Posteriormente, a questão é: qual é o uso de classes imutáveis em Java? Classe imutável significa que, uma vez que um objeto é criado, não podemos alterar seu conteúdo. No Java , todo o invólucro Aulas (como Inteiro, Booleano, Byte, Curto) e String classe é imutável . Podemos criar o nosso próprio classe imutável também.

As pessoas também perguntam: a classe Date é imutável em Java?

Encontro não é imutável , precisamos fazer uma cópia defensiva de Java . util. Encontro campo enquanto retorna uma referência a esta variável de instância. Vamos criar uma pessoa hipotética classe que tem nome e dob como os únicos dois membros.

Como podemos tornar um objeto imutável?

Para tornar o objeto imutável, você deve seguir estas etapas:

  1. Não use nenhum método, que pode alterar os campos de sua classe. Por exemplo, não use Setters.
  2. Evite usar campos públicos não finais. Se seus campos forem públicos, você deve declará-los como finais e inicializá-los no construtor ou diretamente na linha de declaração.

Recomendado: