Início > Java, SCJP > Variáveis Locais (Automatic/Stack/Method)

Variáveis Locais (Automatic/Stack/Method)

Variáveis locais são aquelas declaradas dentro de um método. Isso significa que a variável não é apenas inicializada dentro do método, mas também declarada dentro dele. Assim como a variável local inicia a sua vida dentro do método, ela também é destruída quando o método finaliza. As variáveis locais ficam sempre na pilha, e não no heap. Embora o valor da variável possa ser passado para, digamos, outro método que não armazene o valor em uma variável de instância propriamente dita só vive dentro do escopo do método.


class Teste{

    public void login(){

    int count = 10;

}

    public void loginTest(int i){

        count = i;	//Não vai compilar! Não é possível acessar

                        //count de fora do método login()

    }

}

É possível declarar uma variável local como mesmo nome que uma variável de instância. Isso é conhecido como sombreamento, como o seguinte código demonstra:


class Teste{

    int count = 9;	//declara uma variável de instância

    public void login(){

        int count = 10; //Declara uma variável loca chamada de count

        System.out.println( count );

    }

    public void count(){

        System.out.println( count );

    }

    public static void main(String[] args){

        new Teste().login();

        new Teste().count();

    }
}

O código acima produz a seguinte saída:

10
9

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: