escopo de variáveis em java

é entendido por escopo, escopo ou escopo de um Variável, a parte do programa onde a variável é acessível. Vamos ver os tipos que existem.

como C / C ++, em Java, todos os identificadores têm um escopo léxico (ou estático). Os programas Java são organizados na forma de classes. Cada classe faz parte de um pacote. As regras do escopo do Java podem ser cobertas nas seguintes categorias.

Tabela de conteúdo

1. Variáveis de membros (escopo na aula nível)

Estas variáveis devem ser declaradas dentro da classe (fora de qualquer método). Pode ser acessado diretamente a eles em qualquer lugar da aula. Vamos ver um exemplo:

public class Test{ //Todas las variables definidas directamente dentro de una clase //son variables miembro int a; private String b; void method1() {....} int method2() {....} char c;}
  • podemos declarar variáveis de classe em qualquer lugar da classe, mas fora dos métodos.
  • O acesso especificado das variáveis de membro não afeta o escopo de uma classe.
  • As variáveis de membro podem ser acessadas fora de uma classe com as seguintes regras
Regras para variáveis de membro fora de uma classe.
modificador pacote
público sim se
protegido se
padrão (sem modificador)
privado No

2. local variáveis (método no nível do método)

variáveis declaradas d Digite um método são escopo no nível do método e não podem ser acessados fora do método.

public class Test{ void method1() { // Variable local (ámbito a nivel de método) int x; }}
× Nota: As variáveis locais não existem após terminar a execução do método.

Aqui está outro exemplo do método REACH, exceto que desta vez a variável é passada como um parâmetro para o método:

class Test{ private int x; public void setX(int x) { this.x = x; }}

O código anterior usa a palavra-chave para diferenciar entre as variáveis locais e as variáveis de classe.

> div> Saiba mais
palavra-chave esta

como um exercício, preveja o resultado do seguinte programa java.

public class Test{ static int x = 11; private int y = 33; public void method1(int x) { Test t = new Test(); this.x = 22; y = 44; System.out.println("Test.x: " + Test.x); System.out.println("t.x: " + t.x); System.out.println("t.y: " + t.y); System.out.println("y: " + y); } public static void main(String args) { Test t = new Test(); t.method1(5); }}

Test.x: 22t.x: 22t.y: 33y: 44

3. Variáveis de loop (escopo)

uma variável declarada Dentro de um torque “{” e “}” em um método gama apenas dentro dos colchetes.

public class Test{ public static void main(String args) { { // La variable x tiene alcance dentro // los corchetes int x = 10; System.out.println(x); } // La línea de código comentada debajo produciría // error ya que la variable x está fuera del alcance. // System.out.println(x); }}

Saída:

10

Como outro exemplo, considere executar o programa com um para.

class Test{ public static void main(String args) { for (int x = 0; x < 4; x++) { System.out.println(x); } // Producirá un error System.out.println(x); }}

Saída:

11: error: cannot find symbol System.out.println(x);

A maneira correta de fazer o acima é:

// El programa después de corregir el errorclass Test{ public static void main(String args) { int x; for (x = 0; x < 4; x++) { System.out.println(x); } System.out.println(x); }}

Saída:

01234

Como um exercício, preveja o resultado do seguinte programa Java.

class Test{ public static void main(String args) { { int x = 5; { int x = 10; System.out.println(x); } } }}

Alguns pontos importantes sobre o escopo das variáveis em Java:

  • em geral, um conjunto de chaves {} define um intervalo.
  • em Java, podemos geralmente acessar uma variável fornecida que tenha sido definido dentro do O mesmo conjunto de colchetes que o código que estamos escrevendo ou dentro de qualquer parênda dentro dos colchetes onde a variável foi definida.
  • Qualquer variável definida em uma classe fora de qualquer método pode ser usada por todos os métodos membros.
  • Quando um método tem a mesma variável local como membro, a palavra-chave “esta” Para ser usado para se referir à variável de classe atual.
  • para que uma variável seja lida após o término de um ciclo, ele deve ser declarado antes do corpo do ciclo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *