Escopo de uma variável em Java [com exemplo de codificação]

Publicados: 2021-02-05

Índice

Introdução

Os programadores definem o escopo de uma variável em Java que informa ao compilador sobre a região de onde uma variável está acessível ou visível. O escopo de uma variável em Java é estático por natureza. Isso significa que temos que declará-lo apenas em tempo de compilação. Neste artigo, você aprenderá sobre o escopo de uma variável Java junto com seus tipos.

Qual é o escopo de uma variável em Java?

Cada variável usada em uma linguagem de programação possui um escopo. O escopo informa ao compilador sobre o segmento dentro de um programa onde a variável é acessível ou usada. Os programadores podem definir o escopo das variáveis ​​lexicalmente ou estaticamente no caso de variáveis ​​Java.

A variável de escopo estático significa que os programadores precisam determinar o escopo de uma variável em Java em tempo de compilação e não em tempo de execução. Além disso, observe que cada classe faz parte de um pacote Java. Isso se resume a duas categorias diferentes de escopos de uma variável em Java .

1. Variáveis ​​de membro com escopo de classe: As variáveis ​​de membro são membros de uma classe e, portanto, declaradas dentro de uma classe, mas não dentro de nenhum método ou função. Assim, podemos abordar esse escopo de variável como escopo de classe ou escopo de nível de classe. Os programadores declaram essas variáveis ​​dentro das chaves da classe ( {} ) junto com um modificador de acesso. Os programadores podem usar tais variáveis ​​em qualquer lugar dentro da classe Java, mas não fora dela.

Exemplo:

classe pública EgOfClassScope {

valor inteiro privado = 10;

public void egMetodo() {

valor += 10;

}

public void outroExampleMethod() {

Inteiro AmtIncr = valor + 6;

}

}

Podemos ver que a variável 'amt' é acessível em todos os métodos da classe. Se usarmos o modificador de acesso público em vez do privado, a variável se tornará acessível de qualquer lugar dentro do pacote.

Modificador Pacote Subclasse Mundial

público sim sim sim

protegido sim sim Não

Padrão (não
modificador) Sim Não Não

Privado Não Não Não

2. Escopo Local ou Escopo do Método: Os programadores podem declarar variáveis ​​locais em um escopo local com um intervalo menor (suponhamos, dentro do método). Os programadores não podem acessar tais variáveis ​​de fora do método Java, mesmo na mesma classe. Eles têm limites na acessibilidade e sua visibilidade termina quando o escopo do método Java termina.

Exemplo 1:

classe pública EgOfMethodScope {

public void PrimeiroMetodo() {

Salário inteiro = 6000;

}

public void Segundo Método() {

// Isso irá encontrar um erro em tempo de compilação dizendo: area não pode ser resolvida para uma variável

salário = salário + 2000;

}

}

É um exemplo de escopo de método. Aqui eu criei a variável 'salário' dentro do FirstMethod(){….}. Portanto, seu escopo termina no final do FirstMethod(). Portanto, utilizar essa variável no SecondMethod() criará um erro, pois a variável 'salary' está fora do escopo.

Exemplo 2:

classe EgOfMethodScope2

{

privado int g;

public void setG(int g)

{

este.g = g;

}

}

Aqui, usamos a palavra-chave 'this' para distinguir entre escopo local e escopo da variável de classe. Os programadores usam essa palavra-chave para apontar para o objeto atual como uma variável de referência. Aqui o programador passa a variável como parâmetro para o método.

Observe que as variáveis ​​locais não existirão quando a execução do método terminar. Existem outras formas de escopo local usadas no método Java, mas em uma parte específica dentro dele.

  • Escopo do Loop: Existem situações em que declaramos variáveis ​​dentro de um loop. Tais variáveis ​​terão um escopo de loop e podem ser acessadas apenas de dentro de um loop.

Exemplo:

classe pública EgOfLoopScope {

List<String> listOfEmp = Arrays.asList ( “Karlos”, “Gaurav”, “Sue”, “Dee”);

public void iterateEmpName() {

String tudo = “”;

for (Nomes de string: listOfEmp)

{ // O escopo do loop começa daqui

todos = todos + ” ” + nomes;

} // o escopo do loop termina aqui

// Você encontrará um erro em tempo de compilação dizendo: nome não pode ser resolvido para uma variável – se você tentar acessar a variável na próxima linha

String lastEmpName = nomes;

}

}

Neste método iterateEmpName(), a variável 'names' tem um escopo de loop (pois é uma variável de contador) e é acessível dentro de { e } da instrução 'for'.

  • Escopo de suporte: os programadores podem definir escopo adicional em qualquer lugar dentro do programa. Os programadores podem definir esse escopo extra usando os colchetes { e }.

Exemplo:

classe pública EgOfBracketScope {

public void EgAddOp() {

Inteiro tot = 0;

{ // O colchete começa daqui

Número inteiro = 6;

tot = tot + não;

} // o escopo dos colchetes termina aqui

// Ele irá criar um erro em tempo de compilação dizendo: número não pode ser resolvido como uma variável – se usado na próxima linha

não- ;

}

}

Pontos salientes sobre o escopo de uma variável em Java

  • Como outras linguagens de programação (C, C++ e C#), temos que usar um conjunto de chaves ( { e } ) para definir o escopo de uma variável em Java.
  • Podemos acessar uma variável de qualquer método se a definirmos dentro de uma classe fora de qualquer escopo de método.
  • Para usar uma variável após o término de um loop, temos que declará-la antes ou logo acima do corpo do loop.
  • Mas não podemos implementá-lo ou acessá-lo sem um construtor, método Java e bloco.
  • O escopo de uma variável estática reside apenas na classe.
  • O escopo define a região dentro de um programa de onde as variáveis ​​estarão acessíveis.

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Este artigo mostra como os programadores usam escopos Java para escrever programas diferentes. Também nos informa sobre a área dentro de um programa onde a variável é visível. Tanto a acessibilidade quanto a visibilidade desempenham um papel significativo na programação devido ao conceito de escopo. Qualquer erro único no escopo da variável pode levar um programador a um erro em tempo de compilação.

Se você deseja melhorar suas habilidades em Java, você precisa colocar as mãos nesses projetos Java. Se você estiver interessado em aprender mais sobre Java, desenvolvimento de pilha completa, confira o Programa PG Executivo do upGrad & IIIT-B em Desenvolvimento de Software de pilha completa, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos, e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

O que é um escopo de variável em Java?

O escopo de uma variável é o lugar em seu programa onde ela pode ser referenciada. O escopo da variável é especificado usando a palavra-chave 'scope' na declaração da variável. Uma variável que pode ser acessada em 'qualquer' escopo pode ser acessada absolutamente em qualquer lugar do seu programa. Uma variável que pode ser acessada apenas em um escopo específico só pode ser acessada nesse escopo. O escopo pode ser uma função, um bloco, um método, uma classe ou fora de todos os métodos, blocos e classes.

Quais são os tipos de modificadores de acesso em Java?

Existem quatro tipos de modificadores de acesso em Java: público, protegido, padrão (pacote) e privado. Public torna a variável, classe ou função acessível para qualquer lugar, protected torna acessível para a classe em que está definida mais suas subclasses, default (pacote) torna acessível para qualquer classe no mesmo pacote e private torna acessível apenas para a classe em que está definido.

O que é palavra-chave estática em Java?

Uma palavra-chave estática em uma classe Java denota que a classe assim declarada não é uma instância da classe, mas é uma classe por si só. Os membros de dados estáticos da classe são comuns a todas as instâncias. Uma palavra-chave estática é usada para acessar métodos e campos estáticos de uma classe. Em Java, a palavra-chave static é usada para acessar os métodos e campos estáticos de uma classe. Para acessar métodos e campos estáticos de uma classe, você deve usar o nome da classe, um ponto (.), e o método estático ou nome do campo.