【问题标题】:Java - Use main method of a package in another classJava - 在另一个类中使用包的主要方法
【发布时间】:2018-08-07 14:21:07
【问题描述】:

假设我有一个名为 com.Gazzali 的包,在这个包中我还有 3 个类。

package com.Gazzali;
//Driver class
public class Main {

public static void main(String[] args) {
    System.out.println("Hey There !");
    FireCall target = new FireCall(); // calls 2nd class (named: Firecall)
    target.callfired();
 }
}

二等:

package com.Gazzali;

public class FireCall {
   public void callfired()
   {
    System.out.println("Calling function Triggered.");
    Execute Fire = new Execute(); //calls 3rd class (named : Execution).
    if(Fire.click() == 1)
        System.out.println("You're Dead, Boy !!!");
    else
        System.out.println("Whoooss Saved !!!");
    }
 }

第三课:

package com.Gazzali;
import java.util.Scanner;

public class Execute {
int choice;
Scanner query = new Scanner(System.in);

public int click()
{
    System.out.println("Enter a choice : ");
    choice = query.nextInt();
    if(choice % 2 == 0)
    {
        return 1;
    }
    else
        return 0;
}
}

这 3 个组成了我的 com.Gazzali 包。现在在另一个文件(RunPackTest.java)中,我想调用Main 类(驱动程序类)的main 方法。所以我尝试如下导入:

import com.Gazzali.Main;
public class RunPackTest {
public static void main(String[] args) {
    Main run = new Main(); //calling Main method of Driver class of the package 
    System.out.println(run); //Doesn't seem to work,IDE only return 0 
}

}

如何做到这一点?因为Main 类的main 方法会启动程序并相应地调用包的其他类。

【问题讨论】:

  • new Main() 只是创建一个新实例,但不做任何其他事情。要么调用run.main(args),要么(更好)提供一个实际包含逻辑的方法,然后从main() 两个方法中调用它。
  • 完全正确:调用另一个主要方法是不好的做法。
  • 乍一看,您似乎将类与方法混淆了;您确定需要创建一个全新的类来在其中实现一个方法吗?
  • @Thomas,谢谢,现在它正在工作!
  • @Zephyr,Yash,我是 Java 初学者。我正在package 上进行自我练习,就像 C++ OOP 调用方法一样。

标签: java import package main


【解决方案1】:

我相信这样做可以:

import com.Gazzali.Main;

public class RunPackTest {
    public static void main(String[] args) {
        Main.main(null);
    }
}

您可以像使用任何其他方法一样调用main,尽管这通常不是一个好习惯。

【讨论】:

    猜你喜欢
    • 2016-01-08
    • 2012-09-06
    • 2019-06-19
    • 2011-09-15
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    相关资源
    最近更新 更多