1.方法调用
当程序调用一个方法时,程序的控制权交给了被调用的方法;当被调用方法的返回语句执行或者到达方法体闭括号时,控制权交还给程序。
可通过调用方法来使用方法,调用方法有两种方式,即方法有返回值或无返回任何值。
(1)方法表达式
对于有返回值的方法,将其作为表达式或表达式的一部分来调用。
下面利用方法表达式实现square()方法的调用。
public class Demo {
static int square(int x) {
int s;
s = x * x;
return (s);
}
public static void main(String[] args) {
int n = 5; int result = square(n);
System.out.println(result);
}
}
当方法返回一个值的时候,方法调用通常被当作一个值。
(2)方法语句
方法语句即以独立语句的方式调用方法。
下面利用方法语句实现square()方法的调用。
public class Demo1 {
static void square(int x) {
int s;
s = x * x;
System.out.println(s);
}
public static void main(String[] args) {
int n = 5; square(n);
}
}
这里square()方法是一个void类型方法,它不返回值。一个void方法的调用一定是一个语句。
2.方法重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。
实现方法重载的条件:
- 方法名称必须相同
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
- 同一作用域
例如:
public class Demo2 {
void test() {
System.out.println("No parameters");
}
void test(int a) {
System.out.println("a;" + a);
}
void test(int a, int b) {
System.out.println("a:" + a + "b:" + b);
}
double test(double a) {
System.out.println("double a:" + a);
return a * a;
}
}
class Overload {
public static void main(String[] args) {
Example3_4 ob=new Example3_4();
double result;
ob.test();
ob.test(10);
ob.test(10,20);
result=ob.test(123.22);
System.out.println("Result of ob.test(123.22):"+result);
}
}