下面程序的输出结果是什么?( )
class overload {
int x;
int y;
void add(int a) {
x = a + 1;
}
void add(int a, int b) {
x = a + 2;
}
}
class Overload_methods {
public static void main(String args[]) {
overload obj = new overload();
int a = 0;
obj.add(6);
System.out.println(obj.x);
}
}5
6
7
8
讲重载的实现原理之前,还是先来说一说什么是方法重载。Java中的每一个方法,都有自己的签名,或者也可以叫做标识,用来确认它的唯一性。在同一个类中,不能出现两个签名一样的方法。而方法的签名由什么组成呢?答案是方法名称 + 参数列表,也就是说,一个类中不允许出现两个方法名称一样,而且方法的参数列表也一样的方法(一个static,一个非static也不行)。知道上面的概念后,我们就可以定义方法重载了:在同一个类中,拥有相同方法名称,但是不同参数列表的多个方法,被称为重载方法,这种形式被称为方法的重载。