重写子类方法是,彻底覆盖掉从父类继承而来的方法。(想想不覆盖会出现什么结果?)
之所以覆盖掉父类中的某些方法,完全是因为从父类继承而来的这个方法不是很合适之类,所以重写这个方法后,就能够屏蔽从父类继承而来的这个方法。还有一点想说的就是重写方法后,还有利于多态。
重写的要求
1,子类方法名,参数类型和个数,返回值类型(5.0以后允许返回父类)要相同。
2,访问权限修饰符可以改,但不能够变小。
3,抛出异常不能够变大。
重写的代码:
public class Sub extends Super{
public String getColor(){
return super.getColor()+"变成blue"; //子类从父类继承而来的方法从写后,子类还能够使用super关键字来调用父类的方法
}
public static void main(String[] args){
Sub s = new Sub(); //创建子类对象s
System.out.println(s.getColor()); //调用子类的方法并且重写打印
System.out.println();
Super su = new Super(); //创建父类对象su,就可以调用父类的方法,与子类重写方法无关系
System.out.println(su.getColor());
}
}
public class Super {
String getColor(){
return "red";
}
}