Java 从另一个类调用方法的最有效方法
假设我有一班和二班 第二类有一个方法Java 从另一个类调用方法的最有效方法,java,methods,Java,Methods,假设我有一班和二班 第二类有一个方法 public static void helloWorld() { do something(); }; 通常我会从ClassOne调用Class2中的helloWorld方法,如下所示: ClassTwo classTwo = new ClassTwo (); classTwo.helloWorld(); ClassTwo.helloWorld(); 但我也可以这样做: ClassTwo classTwo = new ClassTwo ();
public static void helloWorld() {
do something();
};
通常我会从ClassOne调用Class2中的helloWorld方法,如下所示:
ClassTwo classTwo = new ClassTwo ();
classTwo.helloWorld();
ClassTwo.helloWorld();
但我也可以这样做:
ClassTwo classTwo = new ClassTwo ();
classTwo.helloWorld();
ClassTwo.helloWorld();
一种方法比另一种更可取吗?如果是,为什么
我很少看到有人调用这样的方法,但这似乎是一种有效的方法。将ClassTwo方法更改为静态
public static void helloWorld() {
do something();
};
现在你可以这样打电话:
ClassTwo.helloWorld();
将ClassTwo方法更改为static
public static void helloWorld() {
do something();
};
现在你可以这样打电话:
ClassTwo.helloWorld();
class2.helloWorld()
是一种静态方法。此版本只能使用ClassTwo
的静态变量;它不能使用任何实例变量。如果方法不需要实例变量,则应使用静态版本
如果该方法需要使用实例变量,则显然需要使用实例方法。ClassTwo.helloWorld()
是一个静态方法。此版本只能使用ClassTwo
的静态变量;它不能使用任何实例变量。如果方法不需要实例变量,则应使用静态版本
如果该方法需要使用实例变量,则显然需要使用实例方法。如果该方法定义为
静态
则应使用类引用调用它,您可以使用对象引用调用它,但它不是首选的,也不是必需的
如果该方法不是静态的,而只是一个实例方法,那么必须使用对象引用调用它
Intance方法和字段属于特定对象。您需要一个对象来访问实例方法和字段。使用类引用无法访问非静态方法
静态方法属于该类。该类的所有对象共享该方法的公共行为。不能重写静态方法。它们可以通过类引用访问
要定义静态方法,可以使用
static
关键字 如果方法定义为静态
则应使用类引用调用它,您可以使用对象引用调用它,但它不是首选的,也不是必需的
如果该方法不是静态的,而只是一个实例方法,那么必须使用对象引用调用它
Intance方法和字段属于特定对象。您需要一个对象来访问实例方法和字段。使用类引用无法访问非静态方法
静态方法属于该类。该类的所有对象共享该方法的公共行为。不能重写静态方法。它们可以通过类引用访问
要定义静态方法,可以使用
static
关键字 如果helloWorld()不是一个静态方法,那么如何调用像ClassTwo.helloWorld()
这样的方法?第二个方法只有在方法是static
编辑了我的代码以包含static关键字时才有效。您还有问题吗,我们很乐意为您提供帮助,但如果您的问题得到解决,您可以选择并将答案标记为已接受。您如何将ClassTwo.helloWorld()
这样的方法称为helloWorlsd()不是静态方法第二种方法仅在方法为“编辑我的代码以包含静态关键字”的情况下有效。如果您还有问题,我们很乐意提供帮助,但如果您的查询得到解决,您可以选择并将答案标记为已接受。您甚至可以从空引用中调用它。不应该,但是可以。你甚至可以从空引用调用它。不应该,但是可以。