aqui te doy un ejemplo de como puedes interactuar con el metodo main que es estático y con uno que no lo es, obviamente es solo demostrativo pues no le veo caso a hacer llamadas al main...
Código:
private static principal obj = new principal();
private int n = 5;
private String[] g = new String[3];
public static void main(String[] args) {
System.out.println(obj.n + " Pasadas.");
obj.llamaHola();
}
private void llamaHola() {
while(n < 10) {
try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
System.out.println("Fallos" + ex);
}
n++;
main(g);
}
}