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.
01.public class GlobalELocal {
02. static int x;
03. float y;
04.
05. public static void main(String args[]) {
06. char z;
07. x = 1;
08. z = 'a';
09. }
10.}
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.
Fonte: http://www.tiexpert.net/programacao/java/static.php. Acessado em 24/10/2012 às 00:30.
Nenhum comentário:
Postar um comentário