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

我尝试计算调用静态方法的频率并且不知道该怎么做,因为据我所知,我不能在静态方法中使用实例变量。我有以下课程:


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

问候和感谢,帕特里克



繁星点点滴滴
浏览 128回答 4
4回答

长风秋雁

您将要在静态方法之外创建一个静态变量:private static int counter = 0;调用该方法时,递增变量:public static void showObject(Object o){    System.out.println(counter + ": " + o);    counter++;}

繁花不似锦

您可以使用静态变量来计算方法被调用的次数。public class Utilities {     private static int count;     public static void showObject (Object o) {          System.out.println(counter + ": " + o.toString());          count++;     }     // method to retrieve the count     public int getCount() {         return count;     }}

青春有我

将静态计数器添加到您的班级:public class Utilities {     // counter where you can store info     // how many times method was called     private static int showObjectCounter = 0;     public static void showObject (Object o) {          // your code          // increment counter (add "1" to current value")          showObjectCounter++;     }}

宝慕林4294392

您可以使用以下内容:private static final AtomicInteger callCount = new AtomicInteger(0);然后在你的方法中: public static void showObject (Object o) {       System.out.println(callCount.incrementAndGet() + ": " + o.toString());  }使用AtomicInteger使计数器线程安全。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java