Diferença Entre Variável De Instância E Variável Local

Diferença Entre Variável De Instância E Variável Local
Diferença Entre Variável De Instância E Variável Local

Vídeo: Diferença Entre Variável De Instância E Variável Local

Vídeo: Diferença Entre Variável De Instância E Variável Local
Vídeo: Curso de Java - Variáveis de Classe e Variáveis de Instância - Orientação a Objetos 2024, Abril
Anonim

Variável de instância vs variável local

Uma variável de instância é um tipo de variável que está presente na programação orientada a objetos. É uma variável que é definida em uma classe e cada objeto dessa classe contém uma cópia separada dessa variável. Por outro lado, o uso de variáveis locais não se limita a linguagens de programação orientadas a objetos. É uma variável que pode ser avaliada apenas dentro de um determinado bloco de código (por exemplo, função, bloco de loop, etc.) no qual é definida. Por esse motivo, as variáveis locais são consideradas como tendo um escopo local.

O que é uma variável de instância?

Variáveis de instância são usadas na programação orientada a objetos para armazenar o estado de cada objeto em uma classe. Eles também são conhecidos como variáveis de membro ou variáveis de campo. Variáveis de instância são declaradas sem usar a palavra-chave estática em Java. Os valores armazenados em variáveis de instância são únicos para cada objeto (cada objeto tem uma cópia separada) e os valores armazenados neles representam o estado desse objeto. O espaço para uma variável de instância é alocado no heap, quando esse objeto é alocado no heap. Portanto, as variáveis de instância são mantidas na memória enquanto o objeto estiver ativo. Por exemplo, a cor de um carro é independente da cor de outro carro. Portanto, a cor de um objeto de carro pode ser armazenada em uma variável de instância. Na prática, as variáveis de instância são declaradas dentro das classes e métodos externos. Usualmente,variáveis de instância são declaradas como privadas para que possam ser acessadas apenas dentro da classe que é declarada.

O que é uma variável local?

Variáveis locais são variáveis que possuem um escopo local e são declaradas dentro de um bloco de código específico. Variáveis locais podem ser vistas como variáveis usadas por um método para armazenar seu estado temporário. O escopo de uma variável local é determinado usando o local em que a variável é declarada, e palavras-chave especiais não são usadas para esse propósito. Normalmente, o acesso a uma variável local é limitado dentro do bloco de código que é declarado (ou seja, entre as chaves de abertura e fechamento desse bloco de código). Variáveis locais são normalmente armazenadas na pilha de chamadas. Isso permitiria que chamadas de função recursivas mantivessem suas próprias cópias das variáveis locais a serem armazenadas em espaços de endereço de memória separados. Quando o método termina sua execução, as informações sobre esse método são retiradas da pilha de chamadas, também destruindo as variáveis locais que foram armazenadas.

Qual é a diferença entre variável de instância e variável local?

As variáveis de instância são declaradas dentro de classes fora dos métodos e armazenam o estado de um objeto, enquanto as variáveis locais são declaradas dentro de blocos de código e são usadas para armazenar o estado de um método. Uma variável de instância está ativa enquanto o objeto que contém essa variável estiver ativo, enquanto uma variável local está ativa durante a execução desse método / bloco de código. Uma variável de instância (que é declarada pública) pode ser acessada dentro da classe, enquanto uma variável local só pode ser acessada dentro do bloco de código que está declarado. O uso de variáveis de instância é limitado apenas à programação orientada a objetos, enquanto as variáveis locais não têm tal limitação.

Recomendado: