public static void main(String[] args) {
System.out.println("Eu sou o seu primeiro programa.");
PrimeiroPrograma pp = new PrimeiroPrograma();
pp.primeiroMetodo();
pp.segundoMetodo();
}
private void primeiroMetodo() {
System.out.println("Executando o primeiro metodo.");
}
private void segundoMetodo() {
System.out.println("Executando o segundo metodo.");
}
}
Bom… agora a dúvida!
O metodo main() sempre é executado ao criar um objeto dessa classe?
Se for… então, quando eu executo o código
PrimeiroPrograma pp = new PrimeiroPrograma(); na função main(), ela não deveria chamar novamente a função main() desse objeto criando um novo objeto? e se toda vez que ele executasse main() ele criasse novamente o objeto entraria em loop infinito? mas pq isso não esta ocorrendo??? parece-me que o método main() so esta sendo executado uma vez… pq?
o método main é chamado quando vc manda rodar uma classe java (java - classe (não sei se esta a sintaxe)).
Isto não é a mesma coisa que você intanciar a classe onde o main está.
Você instanciar uma classe que tem um método main, não fara com que o método main seja invocado.
Para invocá-lo, você precisaria fazer pp.main(new String[]{}).
Daí sim, você estaria fazendo um loop.
O metódo main é o ponto de partida para a sua aplicação portanto da forma que vc fez ai não seria uma boa opção pelo fato de seu programa está muito estrutura e não orientado a objetos uma forma mais elegante e orienta a objetos seria assim :
public class PrimeiroPrograma {
public void primeiroMetodo() {
System.out.println("Executando o primeiro metodo.");
}
public void segundoMetodo() {
System.out.println("Executando o segundo metodo.");
}
}
[code]
public class Main {
public static void main(String[] args) {
System.out.println("Eu sou o seu primeiro programa.");
//criando um objeto da classe PrimerioPrograma
PrimeiroPrograma pp = new PrimeiroPrograma();
//chamado os metódos do objeto da classe PrimeiroPrograma
pp.primeiroMetodo();
pp.segundoMetodo();
}