posted 21 years ago
Yes, they do. If you do not need an instance of an object to call the method, then why create the object? Object creation is inherantly an expensive task.
Secondly, static methods do no participate in overriding/polymorphism. There is no need to maintain/use a dynamic look-up table to determine which version of the method to call. In fact, the method to call is determined at compile-time by the compiler.
However, don't let performance guide you in a quest to make all methods static. Stick to good design, using static methods only as needed, and look for performance optimizations other places (DB access, Network I/O, etc).
Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.