I still feel blurry about the following two concepts: SCJPs experts plz give me some tips from exam's point of view: 1. A static method can/cannot be overriden? what is the difference between overriding and hiding? (I just don't get it from reading JLS). 2. An inner class means a nonstatic inner class/static and nonstatic both? Thanx in Advance.
1) Overriding implies run-time polymorphism. Calls to <CODE>static</CODE> methods are resolved at compile time so there is no real run-time polymorphism. If you write a static method in a subclass with the same signature and return type as one in the superclass, you are hiding the superclass method because the one in the subclass is now resolved at compile time. 2) <CODE>static</CODE> "inner" classes are really nested classes, not inner. Although Sun has not been consistent with the language used.
Tony Alicea Senior Java Web Application Developer, SCPJ2, SCWCD
i agree with tony.many a times the language used is ambiguous.one can't be sure what exactly the statement means.i think such ambiguity shouldn't be there in such exams.
1. Method Overriding: Methods can always be overrided provided over-riding method and over-riden method , both should be either static or both of them be non-static . We cannot mix them.
Jason, have alook at Carl's notes : http://www.crosswinds.net/~cdesboro/ I think his explanation is pretty neat. Ankur [This message has been edited by Ankur (edited July 07, 2000).]
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.
subject: How to deal with these problems in SCJP2?