• 重载与重写


    重载与重写

    1、 重载

    重载:方法名相同而形式参数不同。(参数类型列表不同或参数顺序不同)
    特点:
    (1) 传入的数据类型小于方法中声明的参数类型,实际类型数据会被提升。(char类型略有不同,若无法找到接受char类型的参数则直接把char类型提升为int类型)。
    (2) 若传入的实际参数大于重载方法中的参数类型,则通过类型转换来执行窄化转换。
    (3) **不能通过返回值来区分重载方法。**即

    public void example(){
    } 
    //重载与返回值无关,所以即使返回值不同一个为void无返回值,一个为int返回值,也是重载了方法public void example()
    public int example(int m,float f){
    }
    //不是重载,与返回值无关,参数列表及类型相同会报错。
    public int example(){
    }
    

    在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不能根据new的类型确定调用的方法

    重写

    方法重写应遵循“二同二小一大”原则:
    “二同”:即方法名相同,形参列表相同;
    “一小”:子类方法声明抛出的异常比父类方法声明抛出的异常更小或者相等;
    “另一小”:子类返回类型小于等于父类方法返回类型;
    “一大”:子类方法的访问修饰符应比父类方法更大或相等。

    在重写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;

  • 相关阅读:
    appium的log详细分析
    安卓版本6.0打开uiautomator报错
    wmware搬家
    Appium_Python_Api文档
    EF常用命令行
    Java学习----this和super(在继承中)
    Java学习----到底调用哪一个方法(多态)
    Java学习----方法的覆盖
    Java学习----对象间的继承
    Java学习----一个对象怎么调用另一个对象呢?
  • 原文地址:https://www.cnblogs.com/0427mybirthday/p/7668922.html
Copyright © 2020-2023  润新知