我有一个 Java 程序,其中我需要接受数组中的命令行参数作为main
方法的输入,然后需要将数组传递给同一程序中另一个类的构造函数。我需要知道如何全局声明数组,然后如何传递它并在构造函数中获取它。
谢谢
我有一个 Java 程序,其中我需要接受数组中的命令行参数作为main
方法的输入,然后需要将数组传递给同一程序中另一个类的构造函数。我需要知道如何全局声明数组,然后如何传递它并在构造函数中获取它。
谢谢
public class Example{
Example(String s[])
{
AnotherClass ac = new AnotherClass(s);
}
public static void main(String[] args){
int num=args.length;
String s[]=new String[num];
Example ex = new Example (s);`
}
}
你可以创建AnotherClass
public class AnotherClass{
AnotherClass(String s[])
{
// array argument constructor
}
}
您可以使用
javac Example.java
java Example
class SomeOtherClass{
public SomeOtherClass(String[] args){
this.arguments = args;
}
private String[] arguments;
}
class YourMainClass{
public static void main(String[] args){
SomeOtherClass cl = new SomeOtherClass(args);
//fanny's your aunt
}
}
这就是您可以将参数传递给 SomeOtherClass 的构造函数的方式。
在包含 main 方法的类中,您可以有一个类变量,例如:
String[] cmdLineArgs;
然后在主要方法中:
cmdLineArgs = new String[args.length];
this.cmdLineArgs = args;
然后只需实现一个将返回的getter cmdLineArgs
。然后调用另一个构造函数:
YourObject x = new YourObject(yourFirstClass.getCmdLineArgs());
(当然,如果您从 main 方法调用此其他构造函数,则不需要所有这些步骤,您可以直接调用构造函数args
)