Java核心技术卷I基础知识(原书第9版)
上QQ阅读APP看书,第一时间看更新

4.3.5 隐式参数与显式参数

方法用于操作对象以及存取它们的实例域。例如,方法:

将调用这个方法的对象的salary实例域设置为新值。看看下面这个调用:

它的结果将number007.salary域的值增加5%。具体地说,这个调用将执行下列指令:

raiseSalary方法有两个参数。第一个参数称为隐式(implicit)参数,是出现在方法名前的Employee类对象。第二个参数位于方法名后面括号中的数值,这是一个显式(explicit)参数。

可以看到,显式参数是明显地列在方法声明中的,例如double byPercent。隐式参数没有出现在方法声明中。

在每一个方法中,关键字this表示隐式参数。如果需要的话,可以用下列方式编写raiseSalary方法:

有些程序员更偏爱这样的风格,因为这样可以将实例域与局部变量明显地区分开来。

C++注释:在C++中,通常在类的外面定义方法:

如果在类的内部定义方法,这个方法将自动地成为内联(inline)方法。

在Java程序设计语言中,所有的方法都必须在类的内部定义,但并不表示它们是内联方法。是否将某个方法设置为内联方法是Java虚拟机的任务。即时编译器会监视调用那些简洁、经常被调用、没有被重载以及可优化的方法。