zoukankan      html  css  js  c++  java
  • 重载与重写

    重载与重写

    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的类型确定对象,从而确定调用的方法;

  • 相关阅读:
    mysql报错排查总结
    java设计模式--外观模式
    java设计模式--策略模式
    java设计模式--策略模式
    java设计模式--简单工厂
    java设计模式--简单工厂
    国外有哪些比较好的IT社区
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Fiddler环境配置教程
    Fiddler+Jmeter+断言详细教程
  • 原文地址:https://www.cnblogs.com/0427mybirthday/p/7668922.html
Copyright © 2011-2022 走看看