从另一个类调用方法的最有效方法

时间:2018-05-26 11:51:51

标签: java methods

假设我有ClassOne和ClassTwo。

ClassTwo有一个方法

public static void helloWorld() {
    do something();
};

通常我会从ClassOne中调用ClassTwo中的方法helloWorld,如下所示:

ClassTwo classTwo = new ClassTwo ();
classTwo.helloWorld();

但我也可以这样做:

ClassTwo.helloWorld();

一种方式比另一种更好吗?如果是这样,为什么?

我几乎没有看到有人调用这样的方法,但这似乎是一种有效的方法。

3 个答案:

答案 0 :(得分:2)

如果方法定义为static,则应使用类引用调用 ,您可以使用对象引用调用它,但它不是首选的,也不是必需的。

如果方法不是静态的,而只是它的实例方法,那么必须使用对象引用来调用它。

Intance方法和字段属于特定对象。您需要一个对象来访问实例方法和字段。使用类引用无法访问非静态方法。

静态方法属于该类。该类的所有对象都共享该方法的常见行为。静态方法无法重写。可以通过类引用访问它们。

要定义静态方法,您可以使用static关键字

答案 1 :(得分:1)

将ClassTwo方法更改为static,

public static void helloWorld() {
 do something();
};

现在你可以这样打电话:

ClassTwo.helloWorld();

答案 2 :(得分:1)

ClassTwo.helloWorld()是一种静态方法。此版本只能使用ClassTwo的静态变量;它不能使用任何实例变量。如果方法不需要实例变量,则应使用静态版本。

如果方法需要使用实例变量,则显然需要使用实例方法。