Lendo logo no capítulo 2 do Livro Killer bla bla bla do O reilly. Me deparei com algumas dúvidas mas já achei no google a resposta.
Pesquisando sobre a palavra "super" achei o artigo da sun
[list][url]http://download.oracle.com/javase/tutorial/java/IandI/super.html[/url][/list]
If your method overrides one of its superclass's methods, you can invoke the overridden method through the use of the keyword super. You can also use super to refer to a hidden field (although hiding fields is discouraged). Consider this class, Superclass:public class Superclass { public void printMethod() { System.out.println("Printed in Superclass."); } }Here is a subclass, called Subclass, that overrides printMethod():
public class Subclass extends Superclass {public class Subclass extends Superclass { public void printMethod() { //overrides printMethod in Superclass super.printMethod(); System.out.println("Printed in Subclass"); } public static void main(String[] args) { Subclass s = new Subclass(); s.printMethod(); } }}
Agora, qual a diferença de eu fazer o código acima e fazer o código abaixo?
public class Superclass {
public void printMethod() {
System.out.println("Superclass");
}
}
///////////
public class Subclass extends Superclass {
public void printMethod() {
System.out.println("Subclass");
}
public static void main(String[] args) {
Subclass sb = new Subclass();
sb.printMethod();
}
}
O Super pra mim não fez diferença