抱歉,我只是在学习Java的基础知识。
如果我的标题是:
public static int bar(int j, ArrayList<String> arr)
这些是否是调用该方法的正确方法?
int bar(j, arr);
bar(int j, ArrayList<String> arr);
int bar(int j, ArrayList<String> arr);
int i = bar(j, arr);
答案 0 :(得分:1)
首先,对于您的4个示例,其中只有一个是方法调用。
int i = bar(j, arr);
对于这个特定的调用,它在很大程度上取决于你调用方法的上下文。例如,如果你有一个简单的类Test
和类中的方法,你可以像这样调用它。 / p>
package test;
public class Test {
public static int bar(int j) {
return j + 2;
}
public static void main(String[] args) {
int a = bar(0); // a = 2
}
}
但是,假设您尝试从同一个包中的其他类调用它。
package test;
public class TestTwo {
public void foobar()
{
int a = bar(0); // error.
}
}
您现在必须指定您所指的bar
。
int a = Test.bar(0); // a = 2
但是,如果您还可以使用static import作为blm提及。
添加类似
的内容import static test.Test.bar;
您可以再次使用bar
拨打bar()
。
但请注意,如果bar
不是static
,那么您将处于完全不同的情况。
假设我们的方法foo
不是static
。
package test;
public class Test {
public int foo(int i) {
return i + 1;
}
public static void main(String[] args) {
int i = foo(1); // error
}
}
您必须通过创建foo
的新实例来致电Test
。
int i = new Test().foo(1); // 2