在java的函数/方法中使用对象调用或静态调用?

时间:2017-11-07 22:39:55

标签: java object static

我应该使用需要对象来调用它的普通方法,还是使用静态函数方法来增加对象的数据成员的值。如

public void incSize() {
    this.size++;
} 

public static void incSize(Number num1) {
    num1.size++;
}

1 个答案:

答案 0 :(得分:0)

对于类似这样的事情,函数的逻辑和目的本质上绑定到单个对象,使用成员函数而不是静态函数。这意味着您可以对对象执行的所有操作都按照您执行操作的对象进行逻辑分组,这样更容易使用。

在我看来,很可能是许多其他人的意见,更容易看到发生了什么:

foo.incSize();

与:相比:

Foo.incSize(foo);

静态函数适用于描述与类相关的计算,但不一定依赖于具有该类的对象。例如,Integer.parseInt是静态的,因为解析为整数的功能与整数类相关,但是当您没有该类的对象时仍可使用。再次,比较:

int x = Integer.parseInt("0");

要:

Integer x;
x.parseInt("0");