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调用父类的方法
    }
}

输出

 

posted @ 2019-07-17 17:50  龙桑  阅读(1360)  评论(0编辑  收藏  举报