呵呵,因为子类有了这个方法后就不用用父类的了。因为他们的具体内容是不一样的比如。class Father{
public void run(){
System.out.println("10m/s");
}}class Sun extends Father{
public void run(){
System.out.println("20m/s");
}}因为father有run这个动作,sun也用这个动作,但是他们的具体内容可能不一样,比如速度。
因为你还没有用到抽象类,所以无法理解重写的作用。比如,现在有一个父类P,它有N多个子类S1,S2,S3...在某一种情况下,你根本就不知道是哪个子类在执行,有些情况下也不必知道。但是只知道这些子类都有父类的一个方法m(),这时候,你可以通过将一个变量声明为P,但是实际却是S1。如,P s = new S1(); s.m();这时候实际执行的是子类的方法体,而不是父类的方法体。这也是接口的作用,也是很多时候所说的面向接口编程。