AGRADECIMENTO...

Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.

Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...

Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.

As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.

Desde já agradeço a todos pelas visitas e desejo bons estudos.

Thiago Campos
(srthiago@hotmail.com)

Entendendo Static


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