在同一个java程序中,能不能用一个类去调用另一个包含main()方法的类?

在同一个java程序中,有很多类,如果其中两个类里面都有一个main()方法,这两个main()不是一样的.. 能不能用一个类去调用一个包含main()方法的类?如果能应该怎么调用?
我用的环境是 Eclipse jdk1.7.0
我想调用的那个包含main()方法的类..是静态的.. 我就是直接 类名.mian(args) 去调用的..为什么提示我说args cannot be resolved. ?还有就是我是在一个没有main()方法的类里调用的.. 我们老师让写一个调用数据库的程序..用GUI去设计..我就想在button响应事件中设置对数据库的调用..达到点击一个按钮..就调用一下数据库里的数据.. 我连接数据库的类里有个main()方法..就不知道怎么在另一个类去调用它了.....

你是说有两个类?两个类都有main方法,在一个有main方法的类中调用另一个有main方法的类?

这个随便调用的嘛,如果被调用的方法是静态的,直接类名.方法()就可以了,如果是非静态方法只要new一个类,点方法就可以了。

甚至可以在一个方法中去调用另一个类中的main()方法,我试过了,注意main()方法的入参就可以了。直接类名.main(入参);//默认是字符串数组

public class Main1 {
public static void main(String[] args) {
new Main2().print();
new Main2().main(args);//注意入参,这个args是该类的main方法入参,也可以从新定义一个新的字符串数组
Main2.main(args);

//也可以定义一个变量
Main2 main2 = new Main2();
main2.print();//和上面一模一样了
}
public void print(){
System.out.println("in main1 class");
}
}

public class Main2 {
public static void main(String[] args) {
new Main2().print();
}
public void print(){
System.out.println("in main2 class");
}
}

打印结果是:
in main2 class
in main2 class
in main2 class
in main2 class追问

我想调用的那个包含main()方法的类..是静态的.. 我就是直接 类名.mian(args) 去调用的..为什么提示我说args cannot be resolved. ?还有就是我是在一个没有main()方法的类里调用的.. 我们老师让写一个调用数据库的程序..用GUI去设计..我就想在button响应事件中设置对数据库的调用..达到点击一个按钮..就调用一下数据库里的数据.. 我连接数据库的类里有个main()方法..就不知道怎么在另一个类去调用它了.....

追答

你看一下被调用的main()函数入参是什么样子的,调用出的args属性怎么定义的。有没有问题
我对GUI不是很熟悉,能把调用处的方法和被调用的main()函数粘出来我看看吗?
他是编译不通过,eclipse编译飘红吗?

追问

额.. 谢谢你~~ 是args的属性问题..我修改好了..但又出现了个新问题..能不能把你QQ告诉我..代码不好往上方..

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-22
main方法是可以存在任何类中的嘛没影响的,只要你不是用里a类去调b类的main方法
第2个回答  2011-05-22
一个程序只会有一个入口!
第3个回答  2011-05-22
一个程序里只能有一个main方法吧

java中同一个包下面的一个类能不能调用另一个类里面有参数的方法
如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。如下:class A{ public static void a(){} public void b(){} } public ...

java一个类怎么调用另外一个类的主方法
1、与一般调用没什么差别,直接new 出来另一个类的对象,调用方法即可。B里面代码 public class B {public static void main (String args[]) {System.out.println("this is B");} } A里面代码 public static void main(String args[]){ B b=new B(); b.main(args);}运行A效果:...

Java中的一个类怎么调用另一个类中的方法?
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(sta...

Java中怎样调用另一个类中的Main方法
如果Main,那和一般的函数没区别,如果是main(),则不能直接调用。但可以通过java的Runtime类去执行。比如你的D:盘根下有个java类 Hello.class,里面有main()函数 你的执行类是TestClass public class TestClass { public static void main(String argv []) { String cmdstr = "cmd \/c ja...

Java中可不可以在一个类中调用另一个类的静态共有方法
Java中当然可以在一个类中调用另一个类的静态公有方法。首先公有方法,其他类是可以访问的。调用静态方法的语法是,类名.方法名(参数...)所以,比如另一个类叫OtherClass,它的静态公有方法是publicMethodA(),假设它还有返回值,是int类型,那么在你自己的类里调用的方式就是:int result = ...

java如何调用另个程序的main函数
Main方法是用static修饰的,有2种方法可以调用:1、类名.main(参数);2、new创建实例,实例.main(参数);这个地方注意必须传递字符串数组的参数 或者 null !另外举一个用反射机制调用Main方法的例子。这个类是被调用的main方法类:Java代码:public class Run { public static void main(String[] args...

在Java程序的一个包中的一个类里用了主函数,那么在另一个类中可以再用...
可以。比如你的程序Test.java中有两个类,分别为class A{} class B{},这两个类中都可以有main()函数,当你编译完文件后,即javac Test.java后,如果想运行A类中的main()方法就用java A,如果想运行B类中的main()就用java B 如果还不明白就HI我吧 ...

关于java编程的问题:一个类调用另一个类中构造方法中所定义的参数。
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点...

Java中怎样调用另一个类中的Main方法
直接写类名.main(null)就行了.注:main方法的参数根据情况来传递,要是没有使用到main的形参,传null就行了

Java是不是每个类都可以有一个main函数并且可以互相调用?
对,无论你是正常的类还是内部类,每个类都可以有一个main方法(main方法除了是程序入口,其他的和普通方法没区别);是可以互相调用的。只是由于main方法是static的,所以你要调用的时候不能用实例化后的对象去调用,直接类名.main(null)即可。但这样调用很容死循环,你调用我,我调用你。实际是不允许...

相似回答