java - 计算在 Java 中调用静态方法的频率

标签 java methods count static

我试图计算静态方法被调用的频率,但不知道该怎么做,因为据我所知,我不能在静态方法中使用实例变量。 我有以下类(class):

public class Utilities {

     // print how often method was called + specific Value of Object o
     public static void showObject (Object o) {
          System.out.println(counter + ": " + o.toString());
     }
}

打印对象值是可行的,但我怎样才能让计数器计数呢?因此,以下代码的结果应如下所示:

    public static void main (String[] args){
    Object objectA = new Object ("Object A", 4);
    Object objectB = new Object ("Object B", 4);
    Object objectC = new Object ("Object C", 4);

    Utilities.showObject(objectB);
    Utilities.showObject(objectC);
    Utilities.showObject(objectC);
    Utilities.showObject(objectA);


1: 3.6
2: 8.0
3: 8.0
4: 9.2

问候和感谢, 帕特里克

最佳答案

你会想要在静态方法之外创建一个静态变量:

private static int counter = 0;

调用方法时,增加变量:

public static void showObject(Object o){
    System.out.println(counter + ": " + o);
    counter++;
}

关于java - 计算在 Java 中调用静态方法的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077777/

相关文章:

java - 如何确定 Oracle 中给定字符串的语言(英文,中文...)?

java - 如何创建返回字符串长度的用户定义方法?

c# - 选择性方法可见性的设计模式

Java计算最长可能的数组

mysql - 如何使用同一列但关联不同的表多次连接表? (MySQL)

java - 是什么导致了 Android Studio 3.1 - java.io.IOException : Failed to find byte code for javax/naming/Referenceable

java - 从 for 循环中的 if 退出 for 循环?

java - 请求时间表达式(XML 语法)%= %

java - 为什么列表不能包含在 `Integer...` 参数中

r - 用 NA 进行汇总和减法