黑马程序员——方法重写(覆盖)与重载

来源:互联网 发布:淘宝的服务中心在哪里 编辑:程序博客网 时间:2024/05/22 15:38

------- android培训、java培训、期待与您交流! ----------

方法重写与方法重载的概念
    方法重写:子父类中出现一模一样的方法
    方法重载:在同一个类中出现方法名一样,参数列表不同的方法

方法重写与方法重载的注意事项
    方法重写:
        1.父类中么有方法不能被重写
        2.子类重写父类方法时,访问权限不能更低
        3.父类静态方法,子类也必须通过静态方法进行覆盖(静态覆盖静态)
    方法重载:
        1.重载方法定义在同一个类中
        2.参数列表不同,参数的类型不同,或者参数列表当中的参数顺序不同与返回值类型无关

重写和重载的区别在于: 
    重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值. 
    用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般. 

class Fu {public void method() {System.out.println("父类无参方法");}public void method(int a) {//方法重载System.out.println("父类有参方法");}private int method(int a) {//方法重载与返回值类型、权限无关,所以这不算重载,将会编译错误return k;}private void method(double a) {System.out.println("方法重载");//此为方法重载,参数列表类型不同}public void print() {System.out.println("父类print方法");}}class Zi extends Fu {public void method() {System.out.println("无参方法重写");}pulbic void method(double a) {//方法重写权限只能与父类一样或比父类方法权限更大System.out.println("有参方法重写");}public double print() {//编译错误,无法覆盖,重载时方法返回类型,和参数列表必须与父类一样return 1.1;}}






0 0
原创粉丝点击