How to Override the Super class Method forcibly in sub class? mean to say is there any situation whre we must Override the method in sub class (Access visibility of the method is not an issue here)
Srinivas Katta wrote:YeahI answered this but he did not agree with me. I feel if this situation can be really encountered in a Real time. I am not sure
What are you talking about?
|BSc in Electronic Eng| |SCJP 6.0 91%| |SCWCD 5 92%|
Making the class abstract doesn't force you to override a method, but making a method abstract does -- at least, if you're trying to create a non-abstract, instantiable class.
Ernest Friedman-Hill wrote:Making the class abstract doesn't force you to override a method, but making a method abstract does -- at least, if you're trying to create a non-abstract, instantiable class.
Correct, I made a mistake there!
|BSc in Electronic Eng| |SCJP 6.0 91%| |SCWCD 5 92%|
what you could do, if you still want to instantiate that particular class, is set its accessibility to default, and extend two classes from it; A public final one, and a public abstract one that overrides the method you want overriden with an abstract method.
That way you ensure that no one outside the package can access your superclass, but it can Access the public final one that can't be subclassed, or it can access the public abstract one, which you can subclass, IF you override that method you want overriden.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --- Martin Fowler
Please correct my English.
But how does it makes difference in normal overriding functionality discussed above?
I dont find anything special, like child class must have to over ride.
It is again child class wish to over ride the method or declare abstract.
It's an interview question. Interview questions are designed to see how you handle problems, not to find out what your actual solutions are. The first response I would have made would be to ask what "forcibly" means.
The example I posted forces classes outside of package A to use the final version of the class or to extend the class and implement the method.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --- Martin Fowler
Please correct my English.
You're not going crazy. You're going sane in a crazy word. Find comfort in this tiny ad:
a bit of art, as a gift, that will fit in a stocking