Tengo una duda si escribo el código de esta manera lo ejecuta bien.
public class Flujo {
public static void main(String[] args) {
System.out.println("Inicio main");
metodo1();
System.out.println("Fin main");
}
public static void metodo1() {
System.out.println("Inicio metodo1");
metodo2();
System.out.println("Fin metodo1");
}
public static void metodo2() {
System.out.println("Inicio metodo2");
for (int i = 1; i <= 5; i++){
System.out.println(i);
}
System.out.println("Fin metodo2");
}
}
más no de esta manera
public class Flujo {
private static void main(String[] args) { // obviamente se entiende por el private
System.out.println("Inicio main");
metodo1();
System.out.println("Fin main");
}
public static void metodo1() {
System.out.println("Inicio metodo1");
metodo2();
System.out.println("Fin metodo1");
}
public static void metodo2() {
System.out.println("Inicio metodo2");
for (int i = 1; i <= 5; i++){
System.out.println(i);
}
System.out.println("Fin metodo2");
}
}
Pero porque aquí sí lo imprime?
public class Flujo {
public static void main(String[] args) {
System.out.println("Inicio main");
metodo1();
System.out.println("Fin main");
}
private static void metodo1() { // se cambio de public a private
System.out.println("Inicio metodo1");
metodo2();
System.out.println("Fin metodo1");
}
private static void metodo2() { // se cambio de public a private
System.out.println("Inicio metodo2");
for (int i = 1; i <= 5; i++){
System.out.println(i);
}
System.out.println("Fin metodo2");
}
}
Tal vez estoy dejando que se me pase algo por alto. Saludos Comunidad