Solved

Invoke other method than main(String[])

Posted on 2002-05-02
7
211 Views
Last Modified: 2010-03-31
Hi!
If I specify to a java program a class to run it runs its "public static void main(String[])" method.
Is there a way to run other "public static void methodName(String[])" method?
Thanks!
0
Comment
Question by:rzvika2
7 Comments
 
LVL 92

Expert Comment

by:objects
ID: 6987903
No, that is the only entry point for a Java application.

You could simply write a wrapper class that calls your method:

public Wrapper
{
   public static void main(String[] args)
   {
      MyClass.methodName(args);
   }
}
0
 

Expert Comment

by:paku
ID: 6987956
Yes you can run other public static void methodName(String[] arg) in same class.

for example..

public class test
{
     public static void mine(String[] args)
     {
          System.out.println("This is mine method");
     }

     public static void main(String[] args)
     {
          mine(args);
          System.out.println("This is main method");
     }
}

hope above code will help you..

0
 
LVL 92

Expert Comment

by:objects
ID: 6987963
1. that doesn't actually answer the question
2. it's pretty much copied from my comment.

Lets keep it original please :)
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:rzvika2
ID: 6987969
My big mistake...
I've ment that I want to run it from the comand line.
I don't want that the main method will call it.
My point is to create some methods - each one do different thing, and the user can invoke the relevant method directly from the commnad line.
BTW, I don't want to give the main(String[]) method parameter wich method to invoke...

Thanks.
0
 
LVL 35

Expert Comment

by:girionis
ID: 6988132
> My point is to create some methods - each one do different thing, and the user can invoke the relevant
method directly from the commnad line.

  I think you have misunderstood something here. When you call a class you call it by name and then it is the Virtual Machine that looks for the main method. This is default and you cannot change it (as objects pointed out as well). No matter what the name of your class is, it is the main method that will be called every time. If you have a class:

public class MyClass
{
    public static void main(Strign [] arguments)
    {}
}

and another one:

public class MyClass2
{
    public static void main(String [] arguments)
    {
    }
}

  in order to run them you do:

"java MyClass" and "java MyClass2" and not "java main". In a few words you *cannot invoke methods from the command line. Just classes*. So if you want your users to call different "names" then have different class names that all of them will have a "main" method.

  Hope it helps.
0
 
LVL 92

Accepted Solution

by:
objects earned 100 total points
ID: 6988196
> My point is to create some methods - each one do
> different thing, and the user can invoke the relevant
> method directly from the commnad line.

As I first mentioned you cannot do this, main is the ONLY entry point for a Java application.
I was merely offering you a possibly workaround.

0
 

Author Comment

by:rzvika2
ID: 6993523
girionis:
I've understood it and that's why I've asked this question.
The reason not to do different class for each purpose is because they should behave in a very common way with little differences.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Eclipse IDE - Cannot copy/paste from console output 8 132
rhino JavaScript import, load 25 67
replace a word with other 1 40
more than one jdk and one jre 1 34
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now