Dúvida sobre Acesso de instâncias da classe pelo método main

Por que o método main não acessa de forma direta as instâncias da classe? Devendo sempre criar um objeto para referir a essas instâncias, coisa que não ocorre pelos outros métodos ou até mesmo construtores.

Como o New disse, você não pode acessar nada não estático via main. Solução? Dentro de main, instancie a classe. Tipo:

public class FazAlgo{

     public void fazLogo(){
     	System.out.println("Peraê, pô!");
     }

     public static void main(String args[]){
        //NÃO FAÇA, ERRO!
        //fazLogo();
  
        //Essa pode fazer:
	FazAlgo obj = new FazAlgo();
	obj.fazLogo();
                   
        System.exit(0);
     }
}

Como pode perceber, dentro do main, você vai precisar trabalhar com a instância obj.

[]s[/i]

Opa valeu pela dica, mas eu já sabia fazer, é só não entendia por que a obrigatoriedade de criar um objeto e não fazer referência direta, mas agora entendi por que deve-se fazer a criação do objeto :smiley:

Isso ocorre com todos os métodos staticos!
Para acessar um método statico não precisa ter uma instância da classe, logo, não faz sentido um método statico acessar os atributos não staticos! :wink: