博客
关于我
方法的重载
阅读量:602 次
发布时间:2019-03-12

本文共 1269 字,大约阅读时间需要 4 分钟。

方法的重载概念

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。简单来说,就是在同一个类中,可以有多个方法具有相同的名字,但它们的参数列表必须不同。这种特性被称为方法的重载(Method Overloading)。

"两同一不同"是理解方法重载的关键:

  • 同一个类中
  • 方法名相同
  • 参数列表不同(参数个数和类型都可以不同)

举例说明

我们来看一下方法重载的典型例子:

  • Java.util.Arrays类中的sort()方法和binarySearch()方法
  • Java.io.PrintStream类中的println()方法
  • 还有一个由四个方法构成的例子:public void getSum(int i, int j) {System.out.println("1");}public void getSum(double d1, double d2) {System.out.println("2");}public void getSum(String s, int i) {System.out.println("3");}public void getSum(int i, String s) {System.out.println("4");}

    这些方法满足重载的条件,参数列表各不相同。

    不构成重载的例子:

  • public int getSum(int i, int j) {return 0;}
  • public void getSum(int m, int n) {}
  • private void getSum(int i, int j) {}
  • 这些方法虽然名称相同,但要么返回类型不同,要么参数个数或类型不同,都符合重载的条件吗?不,实际上,这三个方法并不能构成重载,因为它们的参数列表并不完全相同。

    如何判断是否构成重载?

    严格按照重载的定义来判断:

    • 同一个类中
    • 方法名相同
    • 参数列表不同(不管是参数个数还是类型)

    方法的权限修饰符、返回值类型、参数变量名、方法体没有关系。

    如何确定类中某一个方法的调用?

    方法名 -> 参数列表

    面试题:方法的重载与重写的区别?

    方法的重载是同一个类中方法名相同但参数列表不同的情况,而方法的重写是同一个类中继承自父类的方法进行修改或完全替换。主要区别包括:

    • 调用方式:重载是通过参数列表确定方法的具体实现,而重写是通过对象引用确定。
    • 可变性:重载不会改变方法的可变性,而重写会改变。
    • 返回类型:重载的方法返回类型可以不同,而重写的方法返回类型必须与父类方法一致。

    其他关键技术点

    • throws与throw
    • String与StringBuffer与StringBuilder
    • Collection与Collections
    • final与finally与finalize
    • sleep()与wait()
    • 抽象类与接口
    • String类与StringBuilder类
    • Collection框架

    这些都是Java编程中常用的技术关键点,理解它们对于提高代码质量至关重要。

    转载地址:http://mktxz.baihongyu.com/

    你可能感兴趣的文章
    Nginx中使用expires指令实现配置浏览器缓存
    查看>>
    Nginx之二:nginx.conf简单配置(参数详解)
    查看>>
    Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
    查看>>
    Nginx代理初探
    查看>>
    nginx代理地图服务--离线部署地图服务(地图数据篇.4)
    查看>>
    Nginx代理外网映射
    查看>>
    Nginx代理模式下 log-format 获取客户端真实IP
    查看>>
    Nginx代理解决跨域问题(导致图片只能预览不能下载)
    查看>>
    Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH
    查看>>
    Nginx代理配置详解
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    nginx反向代理
    查看>>
    Nginx反向代理
    查看>>
    nginx反向代理、文件批量改名及统计ip访问量等精髓总结
    查看>>
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理及负载均衡实现过程部署
    查看>>
    Nginx反向代理是什么意思?如何配置Nginx反向代理?
    查看>>
    nginx反向代理解决跨域问题,使本地调试更方便
    查看>>
    Nginx反向代理配置
    查看>>