我对这个标题感到抱歉,但我实在找不到其他方式来表达它。我需要创建一个具有双功能的类,如果您向它提供一个文件作为来自控制台或终端的输入,它会返回其计算的打印,但该类也可以用作子例程并将文件提供给另一个类以便进一步计算。
要实现第一个任务,我必须定义一个 main 来接受来自控制台的输入,如下所示
java MyClass myfile.file
但是我不能简单地获取像这样的其他类中的实例
MyClass myClass = new MyClass(file);
因为我总是会从 main 中收到错误(IndexOutOfBound 因为 args 它只是一个空数组)。
我该如何解决这个问题?我必须使用同一个类来执行此操作,我无法为子例程函数构建另一个类。
最佳答案
类似于:
public class MyClass {
public MyClass(String nameOfFile) {
...
}
public void doSomething() {
}
public static void main(String[] args) {
MyClass myClass = new MyClass(args[0]);
myClass.doSomething();
}
}
因此,您的 main 方法只是解释传入的参数(如文件名或类似名称),然后像另一个库一样实例化并执行您的类。
关于java - 如何为具有主要功能的类(class)提供程序化支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177408/