Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469076
  • 博文数量: 153
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1575
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-20 17:02
文章分类

全部博文(153)

文章存档

2017年(111)

2016年(42)

我的朋友

分类: Java

2017-05-24 16:05:08

在Java中,可以在同一个类中定义两个或多个共享相同名称的方法,只要它们的参数声明不同就可以。当出现这种情况时,这些方法就被称为重载(overloaded),并且这一过程被称为方法重载(method overloading).方法重载也是Java支持多态性的方式之一。

当调用重载方法时,Java所使用参数的类型和/或数量决定了实际调用是哪个版本的方法。因此,重载方法在参数的类型和/或数量方法必须有所区别。虽然重载方法可以返回不同的类型,但是单靠返回类型不足以区分方法的多个版本。当Java遇到对重载方法的调用时,简单地执行方法形参与调用中所使用的实参相匹配的版本。

下面是一个演示方法重载的简单例子:

Java基础知识类的深层结构

Java基础知识类的深层结构

如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

可以看出,test()方法重载了4次。第1个版本没有采用参数,第2个版本采用一个整型参数,第3个版本采用两个整型参数,第4个版本采用一个double参数。虽然第4个版本的test()方法还返回一个值,但是这与重载没有什么因果关系,因为返回类型在重载版本的判断中不起作用。

Java基础知识类的深层结构

Java基础知识类的深层结构

重载构造函数:

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

参数传入的深入分析:

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

Java基础知识类的深层结构

请记住:

当将对象引用传递给方法时,引用本身是使用值调用传递的。但是,由于传递的值引用一个对象,因此值的副本仍然引用相应实参指向的同一个对象。如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

阅读(1703) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~