--- "Yee, Richard K,,DMDCWEST" <[EMAIL PROTECTED]> wrote: > I and a lot of other developers would disagree with the statement > "Static methods are evil for many reasons including philosophical > (they're > not OO) and practical (you can't override their behavior)." > > 1) Whenever you write a method that only accesses static data of a > class, > you should declare the method as static.
Yes you could declare it static; however, accessing static data isn't a sufficient condition for making a method static. > > 2) It is not correct to say that static methods can't be overriden. They > can > be overridden with another static method. You can't override a static > method > to be non-static, however. That's incorrect. Static methods cannot be overridden. > > 3) There are many cases where using the static modifier on a method is > totally appropriate. Typically, they are used on methods that provide a > very > specific functionality that will never change. How can you possibly judge that functionality will never change in a particular method? Except in very limited circumstances you can never assume that. Just look at the assumption used in designing RequestUtils as static methods for an example. > Using the static modifier > on > such methods also reduces the overall memory footprint of an > application. That's a red herring argument. The class is loaded regardless of static or non-static method calls. A basic Java object is 8 bytes of memory. Are you going to give up on design principles for 8 lousy bytes? OO programs should be made up of objects passing messages to other objects, not calling global functions. David > > Regards, > > Richard > > > > > > -----Original Message----- > From: David Graham [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 09, 2003 9:22 AM > To: Struts Users Mailing List > Subject: RE: [OT] Use of Static Methods > > > > > > One of my programmers asked me whether or not it is OK to define > > helper methods as 'static' - and I realized that I didn't know the > > answer. So I guess the question is, in a web application, can common > > code be factored out > > to a helper class and marked as 'static'? > > Static methods are evil for many reasons including philosophical > (they're > not OO) and practical (you can't override their behavior). You should > use a > Singleton class with non-static methods. > > Struts' RequestUtils class is a good example of why you should never use > static methods. Developers want to override their behavior but can't > because everything is static. > > David > > > Are there any major problems > > with > > doing this? I should know the answer, but just can't put my thumb on > > it right now.... 8) > > > > TIA! > > > > Jerry Jalenak > > Team Lead, Web Publishing > > LabOne, Inc. > > 10101 Renner Blvd. > > Lenexa, KS 66219 > > (913) 577-1496 > > > > [EMAIL PROTECTED] > > > > > > This transmission (and any information attached to it) may be > > confidential and is intended solely for the use of the individual or > > entity to which it is > > addressed. If you are not the intended recipient or the person > > responsible for > > delivering the transmission to the intended recipient, be advised that > > you have > > received this transmission in error and that any use, dissemination, > > forwarding, > > printing, or copying of this information is strictly prohibited. If > you > > have > > received this transmission in error, please immediately notify LabOne > at > > the > > following email address: [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > __________________________________ > Do you Yahoo!? > SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

