Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #3185
| From | "raphfrk@gmail.com" <raphfrk@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Partially overriding a method? |
| Date | 2011-04-21 08:31 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <ea560a6d-7156-4801-87c5-3b533b57c420@cu4g2000vbb.googlegroups.com> (permalink) |
I was wondering if it is possible to override a method but only for
certain sub-classes of the method that the super-class supports.
For example:
class MainClass {
public static void main(String[] args) {
System.out.println("Started");
MainClass mc = new SubClass();
mc.check("Testing");
mc.check(7);
}
void check(Object x) {
System.out.println(x.toString());
}
}
class SubClass extends MainClass {
void check(String x) {
System.out.println("Sub class: " + x);
}
}
The call to mc.check() calls the main class's version of the method.
However, if I change the sub-class to:
class SubClass extends MainClass {
void check(Object x) {
System.out.println("Sub class: " + x);
}
}
then it uses the sub-class always.
One option would be something like:
class SubClass extends MainClass {
void check(Object x) {
if(x instanceof String) {
check((String)x);
} else {
super.check(x);
}
}
void check(String x) {
System.out.println("Sub class: " + x);
}
}
This would override and only use the sub-class for processing Strings.
Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar
Partially overriding a method? "raphfrk@gmail.com" <raphfrk@gmail.com> - 2011-04-21 08:31 -0700
Re: Partially overriding a method? Lew <noone@lewscanon.com> - 2011-04-21 12:42 -0400
Re: Partially overriding a method? markspace <-@.> - 2011-04-21 11:37 -0700
Re: Partially overriding a method? Lew <noone@lewscanon.com> - 2011-04-21 15:58 -0400
Re: Partially overriding a method? Michal <kleku75@gmail.com> - 2011-04-21 21:00 +0200
Re: Partially overriding a method? Roedy Green <see_website@mindprod.com.invalid> - 2011-04-21 12:59 -0700
Re: Partially overriding a method? Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-04-21 21:10 -0400
Re: Partially overriding a method? "raphfrk@gmail.com" <raphfrk@gmail.com> - 2011-04-24 09:39 -0700
csiph-web