您的位置:首页 > 编程语言 > Java开发

Java 方法重载(overload)、方法重写(override)和可变参数列表

2016-04-16 22:08 232 查看
生活就是一系列的一系列的机会成本。


方法重载和方法重写是Java相关工作面试时经常问到的一个问题,我第一次问题也回答了这个问题。可变参数列表是JDK 1.5的新特性。

一、方法重写(override)

方法重写是出先在类的继承中的。

比如父类:Animal.java

public class Animal{
public void sleep(){
System.out.println("动物需要睡觉");
}
public void eat(){}//动物吃东西
}


子类:Dog.java

public class Dog extends Animal{
public void sleep(){
System.out.println("小狗需要睡觉");
}
}


Dog类继承Aniaml类,所以Dog类应该有父类的方法,sleep()方法就是从父类中继承来的,方法名相同,返回值相同,参数类表相同,但是方法体中的内容不同,所以我们把从父类继承来,但是修改过的方法叫做方法重写。

二、方法重载(overload)

方法重载是发生在同一个下面的。例如:

public class Operationg{
public double add(int a,int b){
return a+b;
}
public double add(int a,int b,int c){
return a+b+c;
}
}


如上面两个add()方法,参数名相同,返回值相同,只有参数列表不同的两个方法叫做重载方法。

三、可变参数列表

可变参数列表是JDK 1.5添加的新特性。如下:

public class VarialeParameters {
//固定参数列表
public int add(int a,int b,int c){
return a+b+c;
}
//可变参数列表
public int add(int a,int b,int...c){
int sum = 0;
for(int i = 0;i<c.length;i++){
sum = sum + c[i];
}
sum = sum + a + b;
return sum;
}
}


我们可以发现,调用可变参数列表时,隐含创建了一个数组,在方法体中,以数组的形式访问可变参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: