在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。

  参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。

  重载是面向对象的一个基本特性。

  下面看一个详细的实例。

  1. public class Demo{

  2. // 一个普通的方法,不带参数

  3. void test(){

  4. System.out.println("No parameters");

  5. }

  6. // 重载上面的方法,并且带了一个整型参数

  7. void test(int a){

  8. System.out.println("a: " + a);

  9. }

  10. // 重载上面的方法,并且带了两个参数

  11. void test(int a,int b){

  12. System.out.println("a and b: " + a + " " + b);

  13. }

  14. // 重载上面的方法,并且带了一个双精度参数

  15. double test(double a){

  16. System.out.println("double a: " + a);

  17. return a*a;

  18. }

  19.

  20. public static void main(String args[]){

  21. Demo obj= new Demo();

  22. obj.test();

  23. obj.test(2);

  24. obj.test(2,3);

  25. obj.test(2.0);

  26. }

  27. }

  运行结果:

  No parameters

  a: 2

  a and b: 2 3

  double a: 2.0

  通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

  说明:

  · 参数列表不同包括:个数不同、类型不同和顺序不同。

  · 仅仅参数变量名称不同是不可以的。

  · 跟成员方法一样,构造方法也可以重载。

  · 声明为final的方法不能被重载。

  · 声明为static的方法不能被重载,但是能够被再次声明。

  方法的重载的规则:

  · 方法名称必须相同。

  · 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。

  · 方法的返回类型可以相同也可以不相同。

  · 仅仅返回类型不同不足以成为方法的重载。

  方法重载的实现:

  方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。

[Java学习] Java方法重载的更多相关文章

  1. Java学习:方法重载的使用规则

    方法的重载 对于功能类似的方法来说,因为参数列表不一样,却需要记住那多不同的方法名称,太麻烦. 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样.好处:只需要记住唯一一个方法名称 ...

  2. java中的方法——重载yu重写(转)

    重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. ...

  3. Java中的方法重载

    一.什么是方法重载? 方法重载就是两个或多个方法的方法名相同,但是方法的形参类型,数量,顺序不同. 上面提到的三点也就是一个方法的特征标,只要有一点不相同,则该方法就不相同,就可以实现重载. 在这里的 ...

  4. Java ——对象 类 方法重载 构造方法 封装 内部类

    本节重点思维导图 快捷键 生成代码:alt+shift+s 提取变量:alt+shift+L 快速复制行:alt+ctrl+向上或向下的箭头 删除行:ctrl+d 类:对同一种事物共同属性和行为的抽象 ...

  5. java中的方法重载与重写以及方法修饰符

    1. 方法重载Overloading , 是在一个类中,有多个方法,这些方法的名字相同,但是具有不同的参数列表,和返回值 重载的时候,方法名要一样,但是参数类型和参数个数不一样,返回值类型可以相同,也 ...

  6. Java基础(8):方法重载的4个依据与例子

    判断方法重载的依据: 1. 必须是在同一个类中 2. 方法名相同 3. 方法参数的个数.顺序或类型不同 4. 与方法的修饰符或返回值没有关系 运行结果:

  7. Java学习:方法的使用与注意事项

    方法的使用与注意事项 定义一个方法的格式:public static void 方法名称(){ 方法体 } 如何调用方法,格式: 方法名称(): 方法名称的命名规则和变量一样,使用小驼峰. 方法体:也 ...

  8. Java语言基础(方法重载概述和基本使用)

    方法重载概述: 在同一个类中,允许存在一个以上的同名方法,只要他们的参数列表不同(即参数类型或者参数个数)即可. 方法重载特点: 1. 与返回值类型无关,只看方法名和参数列表 2. 在调用的时候,虚拟 ...

  9. 062、Java中的方法重载

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

随机推荐

  1. python print 使用分隔符 或行尾符

    使用print() 函数输出数据,但是想改变默认的分隔符或者行尾符. >>> print('ACME', 50, 91.5) ACME 50 91.5 >>> pr ...

  2. Python 成对处理数据 zip()

    当你想成对处理数据的时候zip() 函数是很有用的.比如,假设你头列表和一个值列表,就像下面这样: headers = ['name', 'shares', 'price'] values = ['A ...

  3. Linux命令: 结束命令

    1)ctrl+c,退出命令 2)q,退出文件

  4. foxmail收取163企业邮箱设置,不能直接用foxmail默认的配置,否则一直提示帐号密码错误

    foxmail收取163企业邮箱设置,不能直接用foxmail默认的配置,否则一直提示帐号密码错误,收件.发件服务器配置需要用imap.ym.163.com,smtp.ym.163.com三级域名,帐 ...

  5. linux服务器管理员的12个有用的命令

    ifconfig: 在修改内核中已有的网络接口时,你会用到ifconfig命令.这个命令通常用于系统调校和调试,但同时也可以用于在启动过程中设置接口. netstat: 对于Linux用户来说这是一个 ...

  6. python中的property

    提示:这篇博文参考了两个博客,第一篇博文地址为:https://www.cnblogs.com/Lambda721/p/6132206.html,另一篇博文地址如下:关于python的property ...

  7. AJAX 与 Python 后台通信

    Ajax 简介 Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. Ajax = 异步 ...

  8. 20145106 java实验二

    1)复数类ComplexNumber的属性 m_dRealPart: 实部,代表复数的实数部分 m_dImaginPart: 虚部,代表复数的虚数部分 public class ComplexNumb ...

  9. 20165310 java_blog_week3

    2165310 <Java程序设计>第3周学习总结 教材学习内容总结 类 声明与命名规则 驼峰原则 变量:体现属性 方法:体现行为/功能 变量: 成员变量与局部变量: 成员变量:有效范围: ...

  10. 20145319 《网络渗透》web基础

    20145319 <网络渗透>web基础 实验要求 掌握网页编程的基本知识 html语法 javascript php 前端,后台,数据库之间如何建立连接 掌握数据库的使用 mysql的启 ...