Maybe we just try to convince the author(s) of UString to donate their
additional String-related static utility methods to the Jakarta Commons
project?  ;)

Overriding utility classes just seems icky to me.

   michael


 On Tue, 29 Jul 2003, Henri Yandell wrote:

>
> However, the following would work:
>
> UString ustring = new UString("foo");
> ustring.capitalise();
>
> if UString had:
>
> ...extends StringUtils...
>
> public void capitalise() {
>     this.myStr = capitalise(this.myStr);
> }
>
> Not sure why someone would bother though :) Just as easy to do
> StringUtils.capitalise in there.
>
> Hen
>
> On Tue, 29 Jul 2003, Gary Gregory wrote:
>
> > Ah, but not really... ;-)
> >
> > A subclass cannot override methods that are declared static in the
> > superclass. In other words, a subclass cannot override a class method. A
> > subclass can /hide/ a static method in the superclass by declaring a static
> > method in the subclass with the same signature as the static method in the
> > superclass. Overriding only applies to instance methods, class methods
> > behave differently (ah, longing for Smalltalk). A class method can be
> > /shadowed/ by a subclass but not overridden (not to be confused with method
> > overloading of course ;-)
> >
> > Here is a fun experiment with statics that always comes and bites you in the
> > you-know-where:
> >
> > package test;
> >
> > class SubC extends SuperC {
> >     static String hi() {
> >             return "I am Sub";
> >     }
> > }
> >
> > class SuperC extends Object {
> >     static String hi() {
> >             return "I am Super";
> >     }
> > }
> >
> > public class TestSuperStatic {
> >
> >     public static void main(String[] args) {
> >             SuperC a = new SuperC();
> >             SubC b = new SubC();
> >             SuperC c = b;
> >             System.out.println(a.hi() + ", " + a.getClass());
> >             System.out.println(b.hi() + ", " + b.getClass());
> >             System.out.println(c.hi() + ", " + c.getClass());
> >     }
> >
> > }
> >
> > Can you guess what gets printed out? :-)
> >
> > (and no cheating by running the code!)
> >
> > Gary
> >
> > -----Original Message-----
> > From: Stephen Colebourne [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, July 29, 2003 14:30
> > To: Jakarta Commons Developers List
> > Subject: Re: [lang] DEVELOPERS-GUIDE.html
> >
> > In this use case, everybody uses UString, so you can effectively override.
> >
> > If you code the same method in the 'subclass', and refer to it using the
> > subclass class then it will be called.
> >
> > Stephen
> >
> > ----- Original Message -----
> > From: "Gary Gregory" <[EMAIL PROTECTED]>
> > > When you do that, do remember that you cannot override static methods in
> > the
> > > same way that you can with instance methods.
> > >
> > > Gary
> > >
> > > -----Original Message-----
> > > From: Stephen Colebourne [mailto:[EMAIL PROTECTED]
> > > Sent: Tuesday, July 29, 2003 14:07
> > > To: Jakarta Commons Developers List
> > > Subject: Re: [lang] DEVELOPERS-GUIDE.html
> > >
> > > Because I want to create a subclass of StringUtils.
> > >
> > > Use case:
> > > I curently have a string utility class named UString.
> > > I plan to change that to extend StringUtils once 2.0 is released.
> > > (Because I'll get lots of extra methods for free)
> > > But I can only do that if StringUtils is not final.
> > >
> > > Stephen
> > >
> > >
> > > ----- Original Message -----
> > > From: "Henri Yandell" <[EMAIL PROTECTED]>
> > > To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>
> > > Sent: Tuesday, July 29, 2003 7:46 PM
> > > Subject: Re: [lang] DEVELOPERS-GUIDE.html
> > >
> > >
> > > >
> > > > Question just came up on [io].
> > > >
> > > > Why do we not make our XxxUtil classes final again? :) Anyone remember
> > or
> > > > should I trawl through the mail from last year?
> > > >
> > > > Hen
> > > >
> > > > On Tue, 29 Jul 2003 [EMAIL PROTECTED] wrote:
> > > >
> > > > > Plus1
> > > > > Stephen
> > > > >
> > > > > >  from:    Henri Yandell <[EMAIL PROTECTED]>
> > > > > >  date:    Tue, 29 Jul 2003 14:00:23
> > > > > >  to:      [EMAIL PROTECTED]
> > > > > >  subject: Re: [lang] DEVELOPERS-GUIDE.html
> > > > > >
> > > > > >
> > > > > > Just noticed that DEVELOPERS-GUIDE.html doesn't mention whether our
> > > > > > XxxUtils class should be final or not. I'm pretty sure we ended up
> > > making
> > > > > > them not final. Anyone object to this before I add a line to the
> > > guide?
> > > > > >
> > > > > > Hen
> > > > > >
> > > > > >
> > > > >
> > > ---------------------------------------------------------------------
> > > > > > 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]
> > > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > 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]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > 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]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to