在Java中调用方法的三种方法 - 静态与非静态

时间:2016-04-26 00:13:45

标签: java static

我试图找出调用方法的不同方法,在实验过程中,我想出了三种方法来做某事。

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));

这三种方式中的哪一种被认为是静态的?为什么? 我不确定因为它们都使用静态这个词,所以我相信在驱动程序中,我将在静态环境中指代所有这些。它们都是静态的吗?

我尝试使用谷歌搜索,但似乎没有一个与我的情况相关。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你只有2个静态方法,第一个和第三个。第二个是实例方法。

来到你的实际问题,不要过度思考。保持最清洁和可读的方式。我在这里说的完美静态方法是

public static boolean isFoo(int bar) {
    return bar % 2 == 0;
}