Brazilian Flag American Flag

Back Home Page

Published
Last modified

Java - Global e Local - Entendendo STATIC

Sempre que programamos devemos levar em conta como nosso próprio programa irá acessar os dados que ele mesmo produz. Isso é o simples entendimento e visualização da diferença entre o que é local e o que é global.

Local é qualquer tipo de dado que só pode ser acessado em seu próprio contexto. Por exemplo, uma variável dentro da função principal (main) só pode ser acessada pela função main.

Global é qualquer tipo de dado que pode ser acessado diretamente de qualquer contexto dentro da classe inteira. Por exemplo, podemos declarar uma variável como sendo da classe e criarmos também outras três funções que podem acessar essa mesma variável diretamente, pois ela é global e não pertence a nenhuma das três funções especificamente.

Portanto, sempre usamos a palavra reservada static para indicar que algo (função, método, variável, etc.) é global e pode ser acessado diretamente por todos os elementos de uma classe.

Para exemplificar de uma maneira bem simples e direta, no código abaixo há três variáveis: duas declaradas no corpo da classe e uma declarada na função main.

public class GlobalELocal {
    static int x;
    float y;

    public static void main(String args[]) {
        char z;
        x = 1;
        z = 'a';
    }
}

Traduzindo o código acima, a regra é a seguinte:

  • Quando o código é executado, a função main é chamada;
  • Dentro da função main podemos atribuir um valor para x, porque x é um inteiro marcado como global (static) e pode ser acessado de qualquer lugar.
  • y não pode ser modificado dentro da função main, pois ele só pertence a classe GlobalELocal.
  • z só pode ser modificado dentro da função main, e não pode ser modificado na classe GlobalELocal.

Creative Commons License
Java - Global e Local - Entendendo STATIC by Denys Xavier is licensed under a Creative Commons Attribution 4.0 International License.