File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Is Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Is "long" valid for main() ??" Watch "Is "long" valid for main() ??" New topic

Is "long" valid for main() ??

sonir shah
Ranch Hand

Joined: Nov 01, 2001
Posts: 435

I tried running the program, though it compiled fine, it threw an error at Runtime.
But my question is that why did the compiler allow the program to compile successfully.
Is "long" valid in main??
Valentin Crettaz
Gold Digger

Joined: Aug 26, 2001
Posts: 7610
the main method is just an other method. It's perfectly valid to declare the main method as you did but the problem arises when you try to run the application because the interpreter is lokking for a method called main and declared as follows:
public static void main(String args[])
replace long with void and it should run fine

[Blog] [Blogroll] [My Reviews] My Linked In
Rob Ross

Joined: Jan 07, 2002
Posts: 2205
That is a valid method declaration. As far as the compiler is concerned, it is no different than writing
public static long aMethod(String[] stringArray)

However, if you want the virtual machine to "run" an application, must pass it a class that has a main method with this *exact* signature:
public static void main(String[] args)
Otherwise, it won't run. But as you can see, it compiles just fine.


SCJP 1.4
I agree. Here's the link:
subject: Is "long" valid for main() ??
It's not a secret anymore!