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

 
  
  1. public void raiseSalary(double byPercent) 
  2.     double raise = salary * byPercent / 100
  3.     salary = salary + raise; 

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

 
  
  1. number007.raiseSalary(5); 

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

 
  
  1. double raise = number007.salary * 5 / 100
  2. number007.salary = number007.salary + raise; 

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

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

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

 
  
  1. public void raiseSalary(double byPercent) 
  2.     double raise = this.salary * byPercent / 100
  3.     this.salary = this.salary + raise; 

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

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

 
  
  1. void Employee::raiseSalary(double byPercent)    //C++, not Java 
  2.     ... 

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

 
  
  1. class Employee 
  2.     ... 
  3.     ing getName(){return name;}    //inline in C++ 

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