如何将变量从主方法发送到方法A
,以及在方法B
中我应该在A()
中传递什么参数。
代码:
public class MethodCall {
public void A(String c) {
System.out.println(c);
}
public void B() {
A(); // What parameter do I pass here. method B is dependent on A
}
@Test
public void D() {
B();
MethodCall mc = new MethodCall();
mc.A("Hello");
}
}
的方法A
你期望一个参数类型String
String
因此你必须提供一个参数可以是一个空字符串""
或null
。
另一个选项取决于您的用例;您可以使用变量:
public void a(String... varargs) {...}
在这种情况下,可以给出0个或多个String
类型的参数。
a("Hello World");
:
a();
还有这个
a("Hello", "World");
或者您可以将A
所需的所有参数传递到B
:
public class MethodCall {
public void A(String c) {
System.out.println(c);
}
public void B(String c) {
A(c);
}
@Test
public void D() {
MethodCall mc = new MethodCall();
mc.B("Hello World");
mc.A("Hello");
}
}
您应该在方法b中传递A()中的String参数
public class MethodCall {
public void A(String c) {
System.out.println(c);
}
public void B() {
A("Pass the String parameter");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MethodCall mc = new MethodCall();
mc.A("Hello");
mc.B();
}
}
当你传递String类型作为参数时,这意味着你应该在给参数值时使用相同的数据类型。你不能使用任何其他类型,如Integer, float等,你只需要传递字符串值给给定的参数。
当你使用非静态方法时,它不能直接调用。所以使用Static关键字直接调用方法
答案——
public class MethodCall {
public static void A(String c) {
System.out.println(c);
}
public static void B() {
A("HI "); //you can put `null` or `empty`
}
public static void main(String[] args) {
B();
MethodCall mc = new MethodCall();
mc.A("Hello");
}
}
我对你的问题不太确定,但以下是我的看法:
public class MethodCall {
public void A(String c) {
System.out.println(c);
}
public void B(String s) {
A(s); //If you want to call A() here, then you would have to pass a variable in the parameters of A(), as A() is a parameterized method by definition.
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MethodCall mc = new MethodCall();
mc.A("Hello"); //This part is right, that is how you pass value of a non static function through main method.
}