java - Why can't we define main function in static inner classes? -
i have following simple code
public class tester { static class testerchild { public static void main(string args[]) { system.out.println("test"); } } }
it compiles fine. when run following error
[aniket@localhost src]$ java tester error: not find or load main class tester
question why can't define our main method in static inner class?
update1 :
as specified in answers/comments have change code following
public class tester { public static class testerchild { public static void main(string args[]) { system.out.println("test"); } } }
i compiled , made 2 class files tester.class
, tester$testerchild.class
. still getting error
[aniket@localhost desktop]$ java tester$testerchild error: not find or load main class test
update 2:
ok included current directory in classpath , executed still getting error
[aniket@localhost desktop]$ java -cp . tester$testerchild error: main method not found in class tester, please define main method as: public static void main(string[] args
it can run main
not using right class. main class not tester
tester.testerchild
.
in eclipse run without setup command line have use java 'yourpackage.tester$testerchild'
syntax others mentioned above.
you need wrap name of class in ''
s because on linux/unix shell might think $testerchild
variable. if try out in prompt if omit ''
s:
error: not find or load main class tester
if need explicitly set classpath can use -cp
or -classpath
option or can set commandline: set classpath=/somedir
Comments
Post a Comment