|
>>Please excuse these basic questions but I'm still grappling java after far >>too many years in RPG. The question is: Why would you not want a class to be >>sub-classed. Can anyone give me a simple example? Or am I misunderstanding >>the use of final. >Alistair > as an example, the String class is defined as final... >Would you really want a programmer to sub-class this class ? probably not ! >Mike String is a great example of one of the reasons for final classes. Because the String class is final, the compiler can make some assumptions about it, and that leads to some significant performance benefits. If String was not a final class, then the compiler could not make any assumptions, since subclasses could conceivably change the behavior of even the simplest methods (such as... equals()!). But IMHO there's another reason you might want to make a class final: security. For example, if one of your classes deals with security, it wouldn't be difficult for a programmer to subclass it and override some of the secure routines. Of course, using final is not the end-all and be-all for security; a user could conceivably put a non-secure version of the same class in their own jar file earlier in the classpath; that's one more argument for having your own class loader (there are other reasons, but security in particular is a very good one). Joe +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.