Can a main() method of class be invoked from another class in java
If you want to call the main method of another class you can do it this way assuming I understand the question.
public class MyClass {
public static void main(String[] args) {
System.out.println("main() method of MyClass");
OtherClass obj = new OtherClass();
}
}
class OtherClass {
public OtherClass() {
// Call the main() method of MyClass
String[] arguments = new String[] {"123"};
MyClass.main(arguments);
}
}
if I got your question correct...
main() method is defined in the class below...
public class ToBeCalledClass{
public static void main (String args[ ]) {
System.out.println("I am being called");
}
}
you want to call this main method in another class.
public class CallClass{
public void call(){
ToBeCalledClass.main(null);
}
}
yes, but only if main is declared public
As far as I understand, the question is NOT about recursion. We can easily call main
method of another class in your class. Following example illustrates static and calling by object. Note omission of word static
in Class2
class Class1{
public static void main(String[] args) {
System.out.println("this is class 1");
}
}
class Class2{
public void main(String[] args) {
System.out.println("this is class 2");
}
}
class MyInvokerClass{
public static void main(String[] args) {
System.out.println("this is MyInvokerClass");
Class2 myClass2 = new Class2();
Class1.main(args);
myClass2.main(args);
}
}
Output Should be:
this is wrapper class
this is class 1
this is class 2