Eae pessoal,
Bom, estava dando uma estudada sobre o que é e para que serve a palavra-chave static e entendi que ela é usada para que variáveis e métodos tenham apenas uma referência na memória, e consequentemente para que não sejam “zeradas” toda vez que uma instancia é criada. E que métodos static só acessam métodos e atributos static, a não ser que uma instancia seja criada e etc.
O ponto que eu não entendi muito bem é a parte do this, nos materais que eu li, inclusive no artigo que todo mundo indica aqui no guj, eles falam que membros que possuem a palavra static não tem acesso ao ponteiro this. E até ai tudo bem, mas eu não consegui entender bem o porquê.
No material da caelum a parte que explica sobre o static e sua relação com o ponteiro this é essa:" Métodos e atributos estáticos só podem acessar outros métodos e atributos estáticos da mesma classe, o que faz todo sentido já que dentro de um método estático não temos acesso à referencia this, pois um método estático é chamado através da classe, e não de um objeto. "
" método estático é chamado através da classe, e não de um objeto ", como assim? pelo o que eu li no livro dos deitel classe é só uma “planta”, as classes não “chamam” ninguem, quem executa as tarefas da classe são os objetos dela. Então como é possivel um método estático ser chamado através da classe e não de um objeto?.
Se alguém conseguir me explicar ou me corrigir em um ponto em que eu esteja me equivocando eu agradeceria muito.
