How main function in java actually static,one concept i come to know from Bruce Eckel that static member associate with class itself not paricular instance of class. However this code is not wrong :::(instead of be a infinite recursive loop) public class testing { public static void main(String ar[]) { testing t=new testing() ; String s[]={"this","is","string"} ; t.main(s) ; //instead of testing.main(s) ; } } then question is that we can even create instance of testing to access main.Then how to define static ?