SCJP 6: Done!!

Hi to all, and sorry for post absence. Those last weeks i've been working in some projects and studying for SCJP exam that i re-scheduled to past saturday. Fortunately, i've passed the exam with 85%
woohoo . God helped me with the exam giving me the intelligence to remember JAVA programming rules about OOP, Threads, serialization, inner classes, and soo on. So i feel very well, taking easy those days (is something like a "vacation") and thinking about next certification. I have a dilemma: I don't know if study for:
- SCBCD - Sun Certified Business Component Developer (EJB) or
- SCDJWS - Sun Certified Developer for Java Web Services (web services)
Because i don't know anything or a little bit (in web services) but both technologies are very interesting. Actually i been working with RESTful web services and i like to complement that with EJB 3 but unfortunately current SCBCD is about EJB 2 so i haven't take my desicion yet. But doesn't matter, i wanna rest some days (5 maximum XD) and after that start to sdudying something.
Also i can say that Big Moose Salon Forums helped me a lot. In that forum i found a page with links to mock exams that are very useful to practice after study some topic, and the forum to search my doubts or publish them to receive an answer from most experimented forum members.
Also i going to share some key topics of SCJP in future posts, so keep reading us!!!
JAVA Static methods: Can’t override but redefine (SCJP)
Confused? Me too, well, not now, but a few minutes ago yes. I was reading the Sun Certified Programmer for Java 6 Study Guide (recommended, a good book to prepare to SCJP certification exam) a little bit about static methods because i know how to use it but i didn't now why static methods works as they works. Finally i'm understanding some key concepts but when i read this:
//Finally, remember that static methods can't be overridden! This doesn't mean they
//can't be redefined in a subclass, but redefining and overriding aren't the same thing.
//Let's take a look at an example of a redefined (remember, not overridden), static
//method:
class Animal {
static void doStuff() {
System.out.print("a ");
}
}
class Dog extends Animal {
static void doStuff() { // it's a redefinition,
// not an override
System.out.print("d ");
}
public static void main(String [] args) {
Animal [] a = {new Animal(), new Dog(), new Animal()};
for(int x = 0; x < a.length; x++)
a[x].doStuff(); // invoke the static method
}
}
What the hell!! What's the meaning of redefine a method and override a method? Well, i already know that override a method is to, as it's name says, to override the method definition and implementation of a superclass in a subclass, but redefining a method?







