在类中只调用一次方法,即使该类的对象被创建了多次,可以使用静态方法和静态变量来实现。
静态方法是属于类的方法,而不是属于类的实例对象的方法。静态方法可以通过类名直接调用,而不需要创建类的实例对象。在静态方法中,可以直接访问类的静态变量,但不能访问非静态变量。
要在类中只调用一次方法,可以将该方法定义为静态方法,并在方法内部使用一个静态变量来记录方法是否已经被调用过。当方法被调用时,先判断静态变量的值,如果已经被调用过,则直接返回;如果还未被调用过,则执行方法的逻辑,并将静态变量的值设置为已调用。
以下是一个示例代码:
public class MyClass {
private static boolean methodCalled = false;
public static void myMethod() {
if (methodCalled) {
return;
}
// 执行方法的逻辑
System.out.println("This method is called only once.");
methodCalled = true;
}
}
在上述示例中,myMethod()
方法被定义为静态方法,并使用 methodCalled
静态变量来记录方法是否已经被调用过。当 myMethod()
被调用时,先判断 methodCalled
的值,如果为 true
,则直接返回;如果为 false
,则执行方法的逻辑,并将 methodCalled
的值设置为 true
。
使用该类时,可以直接通过类名调用 myMethod()
方法,无论创建了多少个 MyClass
的实例对象,该方法只会被调用一次。
MyClass.myMethod(); // 调用静态方法,输出 "This method is called only once."
MyClass.myMethod(); // 由于方法已经被调用过,不会再次执行方法的逻辑
这种方式可以确保在类中只调用一次方法,即使该类的对象被创建了多次。
领取专属 10元无门槛券
手把手带您无忧上云