参数传递
对象之间通过传递消息而相互通信。
消息实现成一种可以激活对象上某具体方法的方法调用。Java中静态方法可以由类激活。方法调用中的参数为调用方对象与被调用方对象(不一定非于调用方对象)之间提供了一种信息交换方式。
方法调用的语法可以是下列任何一种:
<object reference>.<method name>(<actual parameter list>)
<class name>.<static method name>(<actual parameter list>)
<method name>(<actual parameter list>)
这里<object reference>必须是一种能算出对象引用的表达式。如果调用方和被调用方式同一个对象,则可以省略<object reference>。<class name>是类的完全标识名。<actual parameter list>中存在多个参数时将由逗号隔开。即使实参清单为空,也必须要有着对括号。这特点将方法调用与访问字段的构造块、指出类完全标识名的构造块、用到点运算符的包等区分开来。
objRef.doIt(time,place);
int i =Java.lang.Math.abs(-1);
someMethod(ofValue);
点运算符(.)具有左结合性。
实参是激活方法时向该方法传递的一些参数,这些参数可以随着调用的不同而变化。形参事方法定义中定义的一些参数,它们对方法而言属于局部变量。
实参和形参必须满足下列关系:
·实参的个数必须等于方法定义中形参的个数。
·对应的每一对形参—实参都必须是兼容的。
1、对元数据类型而言,传递的将是实参的数据值。
2、如果实参是指向对象的引用(如:类实例或数组),则传递的将是引用值而不是对象本身。
3、如果实参是某种元数据类型的数组元素,则传递的将是该数组元素的数据值。
4、如果该数组元素是指向对象的引用,则传递的将是数组元素的引用值。
形参的数据值
|
传递的值
|
元数据类型
|
元数据值
|
类类型
|
引用值
|
数组类型
|
引用值
|