我试图找出调用方法的不同方法,在实验过程中,我想出了三种方法来做某事。
public static boolean isFoo(int bar) {
return bar % 2 == 0;
}
//in a driver class:
foo.isFoo(7);
或
public static int foo;
public Foo(int foo) {
this.foo = foo;
public boolean isFoo() {
return foo % 2 == 0;
}
//in a driver class:
Foo foo = new Foo(4);
System.out.println(foo.isFoo());
或
public static int foo;
public Foo(int foo) {
this.foo = foo;
}
public static int getFoo() {
return foo;
}
public static boolean isFoo(Foo foo) {
return foo.getFoo() % 2 == 0;
}
//in a driver class:
Foo foo = new Foo(14);
System.out.println(Foo.isFoo(foo));
这三种方式中的哪一种被认为是静态的?为什么? 我不确定因为它们都使用静态这个词,所以我相信在驱动程序中,我将在静态环境中指代所有这些。它们都是静态的吗?
我尝试使用谷歌搜索,但似乎没有一个与我的情况相关。
感谢您的帮助。
答案 0 :(得分:2)
你只有2个静态方法,第一个和第三个。第二个是实例方法。
来到你的实际问题,不要过度思考。保持最清洁和可读的方式。我在这里说的完美静态方法是
public static boolean isFoo(int bar) {
return bar % 2 == 0;
}