• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 233
  • Last Modified:

Invoke other method than main(String[])

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
rzvika2
Asked:
rzvika2
1 Solution
 
objectsCommented:
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
 
pakuCommented:
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
 
objectsCommented:
1. that doesn't actually answer the question
2. it's pretty much copied from my comment.

Lets keep it original please :)
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
rzvika2Author Commented:
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
 
girionisCommented:
> 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
 
objectsCommented:
> 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
 
rzvika2Author Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now