duduindo:
…Eu estou lendo, lendo, lendo apostilas sobre Java e nada.
Mas estou dificuldade na lógica do [color=darkred]private[/color], [color=darkred]public[/color], [color=darkred]class[/color].
Tipo assim…
Um exemplo simples:
class ola2{
String nome = "Fulano";
public static void main(String[] args){
System.out.println(nome);
}
}
Por que que eu não posso imprimir a a variável [color=green]nome[/color] si ela está na mesma class ?
A variável nome está declarada no escopo do objecto. Sim, ele está escrito dentro de “class” mas ele pertence ao escop do objeto.
Apenas o objeto , e não a classe, pode acessar essa variável.
O método está no escopo da classe. Sabemos isto porque está marcado com “static”. O método pertence À classe e portanto pode acessar a coisas do escopo da classe.
Tudo o que é estático só pode acessar outras coisas estáticas na mesma classe
Tudo o que não é estático , pode acessar tudo o que é estático + tudo o que não é estático.
A palavra “static” significa “não dinamico”. Isto pode parecer idiota, mas é que um objeto só existe em tempo de execução , quando o programa corre ( dinamico).
Mas a classe existe mesmo quando o programa não está correndo ( existe em arquivo, por exemplo). Portanto , coisas que são estáticas não podem acessar coisas dinamicas pelas simples razão que elas podem não existir ainda. Mas os objetos, criados em tempo de execução, sempre podem acessar o que é estático, porque o que é estático, está sempre lá.