Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Is this a valid way to count instances of objects? Or should I not override finalize?

public class MyClass{
    private int instances;
   public MyClass(){
       instances++;
   }    
   @Override
   public void finalize(){
       instances--;
   }
   public static int getInstances(){
       return instances;
   }
}

The solution doesn't have to be Thread safe

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.6k views
Welcome To Ask or Share your Answers For Others

1 Answer

Mark instancesas static volatile. And secondly, never override the finalize method. Also, in the code AS-IS, note that you can't access to instances variable in your public static int getInstances method.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...