下载此文档

方法重载和参数传递.doc


文档分类:汽车/机械/制造 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
方法相同
在Java语言中,方法相同的概念和其它程序设计语言不尽相同,Java语言中的方法相同指方法名称和参数列表都相同,其中参数列表相同指参数个数、参数类型和参数排列顺序等相同,参数名称可以不相同。相同的方法访问控制符、返回值类型可以不相同。
以下是一下相同的方法:
public void test(int a,double[] d)
private int test(int i,double[] d1)
在同一个类内部,不能声明相同的方法,否则将出现语法错误。
方法重载
方法重载(overload)是一种语法现象,指在一个类内部出现了多个方法名相同,但是参数列表不同的方法。
方法重载的作用是将功能相同,但是参数列表不同的方法采用相同的方法名称,便于程序员使用。根据方法相同的概念,重载的方法都是不相同的方法。
在Java提供的API中,大量应用重载的概念,方便程序员对于系统功能方法的实际使用。
恰当的使用重载,可以增强代码的可维护性。
以下是方法重载的示例:
public void a(int a){}
public int a(){}
public void a(int a,String s){}
在以上示例方法中,方法的名称都是a,而参数列表却各不相同,这些方法实现了重载的概念。但是仔细观察可以发现,这些重载的方法的返回值不尽相同,因为返回值类型和方法的重载无关。
通常情况下,重载的方法在访问控制符、修饰符和返回值类型上都保持相同,这个不是语法的要求,只是将这些制作成一致以后,便于实际使用。
参数传递
在方法调用时,需要根据方法声明传入适当的参数,通过每次调用方法时传参,极大的增强了方法的统一性,避免了方法内部功能代码的重复。但是在实际传递参数时,如果在方法内部修改了参数的值,则调用时使用的变量是否发生改变呢?
例如如下代码:
/**
* 参数传递代码示例
*/
public class TransferValueDemo {
public static void main(String[] args) {
int m = 10;
int[] a = {1,2,34};
test(m,a);
(m);
(a[0]);
}
public static void test(int n,int[] t){
n = 0;
t[0] = 123;
}
}
则执行该程序以后,程序的输出结果是:10 123。则在调用test方法时,同样都是传入参数,为什么变量m的值未改变,而a[0]的值发生了改变呢?下面就来说明该问题。
在参数传递时,一般存在两种参数传递的规则,在Java语言中也是这样,这两种方式依次是:
l  按值传递(by value)
按值传递指每次传递参数时,把参数的原始数值拷贝一份新的,把新拷贝出来的数值传递到方法内部,在方法内部修改时,则修改的时拷贝出来的值,而原始的值不发生改变。
说明:使用该方式传递的参数,参数原始的值不发生改变。
l  按址传递(by address)
按址传递指每次传递参数时,

方法重载和参数传递 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小35 KB
  • 时间2018-05-25