网站首页 > 精选教程 正文
方法会操作对象并访问它们的实例字段。例如,以下方法
public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
将调用这个方法的对象的salary 实例字段为一个新值。考虑下面这个调用:
number007 .raiseSalary(5);
其作用是将number007.salary字段的值增加 5%。具体地说,这个调用将执行以下指令
double raise = number007.salary * 5/100;
number007.salary += raise;
raiseSalary 方法有2个参数。第一个参数称为 隐式(implicit)参数,是出现在方法名前的Employee类型的对象。第二个参数是位于方法名后面括号中的数值,这是一个显式(explicit)参数。(有人把隐式参数称为方法调用的目标或接收者)
可以看出,显式参数显式地列在方法声明中,例如 double byPercent。 隐式参数则没有出现在方法声明中。
在每一个方法中,关键字 this 指向隐式参数。如果愿意,可以如下改写 raiseSalary 方法
public void raiseSalary(double byPercent) {
double raise = this.salary * byPercent / 100;
salary += raise;
}
有些程序员更偏爱这样的风格,因为这样可以将实例字段与局部变量明显地区分开来。
C++ 注释: 在C++ 程序中,通常在类的外面定义方法:
void Employee::raiseSalary(double byPercent) // C++, not java
{
...
}
如果在类的内部定义方法,那么这个方法将自动成为内联(inline)方法。
class Employee {
...
int getName() {
return name;
}
}
在Java中,所有的方法都必须在类的内部定义,但这并不表示它们是内联方法。是否将每个方法设置为内联方法是Java虚拟机的任务。即时编译器会关注那些简短、经常调用而且没有被覆盖的方法调用,并进行优化
- 上一篇: java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载
- 下一篇: Java入门书单
猜你喜欢
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.3相等测试与继承
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.4 hashCode方法
- 2024-11-28 Java入门书单
- 2024-11-28 全网最完整的免费java教程讲义系列(四)——java的流程控制
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 3.10 数组
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3 自定义类
- 2024-11-28 2019年Java核心技术我整理了200多页pdf,今天分享给你
- 2024-11-28 java 核心技术12版卷1 - 1.3 Java applet 与 Internet
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.2 使用预定义类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)