22.1 Extends 继承的 方法重写@Override 和 方法重载Overload 的区别
/*
* 继承中成员方法的特点
* 子类中没有这个方法,调用父类的
* 子类中重写了这个方法,调用子类的
*
方法的重写:在子父类当中,子类的方法和父类的完全一样,子类重写了父类的方法(覆盖),当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法
方法的重载:在一个类中,有多个重名的方法,但是其参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关
* 方法重写的应用场景:当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法,
* 并可以在方法中使用关键字super调用父类的方法,这样做即可以保有父类的功能,也可以拥有子类特有的功能
*
* 方法重写的注意事项:
* 不能重写父类私有的方法
* 权限必须大于等于父类方法的权限
*
* 注解:@
* @Override:可以验证子类中的方法是否和父类中的一样,若和父类方法不同则报错。(不加@Override不会报错但是方法就是新的方法不是继承父类的方法)
public class Review { public static void main(String[] args) { NewPhone n = new NewPhone(); n.call(); } } class Phone { public void call() { System.out.println("打电话"); } } class NewPhone extends Phone { @Override public void call() { System.out.println("看电视");//重写父类中的call方法 super.call();//使用super调用父类的方法 } }
输出