【发布时间】: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 调用方法一样。