In addition, are there any performance advantages to static methods over instance methods?
I came across the following recently: http://www.cafeaulait.org/course/week4/22.html :
When should a method be static?
- Neither reads from nor writes to instance fields
- Independent of the state of the object
- Mathematical methods that accept arguments, apply an algorithm to those arguments, and return a value
- Factory methods that serve in lieu of constructors
I would be very interested in the feedback of the Stack Overflow community on this.