黑马程序员技术交流社区

标题: 方法重载和重写的区别 [打印本页]

作者: hero_king    时间: 2016-5-31 21:29
标题: 方法重载和重写的区别
方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同
class OverloadingMethod{
void get(int i){
System.out.println("get one int data");
System.out.println("i="+i);
}
void get(int x,int y){
System.out.println("get two int datas");
System.out.println("x="+x+"/t"+"y="+y);
}
void get(double d){
System.out.println("get one double data");
System.out.println("d="+d);
}
void get(String s){
System.out.println("get a string");
System.out.println("s="+s);

}
}
public class OverloadingTest{
public static void main(String [] args){
OverloadingMethod mo=new OverloadingMethod();

mo.get(1);
mo.get(2,3);
mo.get(4.5);
mo.get("a string");
}
}
方法重写是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型
注:
(1)子类中不能重写父类中的final方法
(2)子类中必须重写父类中的abstract方法
class Student{
String name;
int age;
int number;

public void getDetail(){
System.out.println("name:"+name+"/n"+"age:"+age);
}
}

class GraduateStudent extends Student{
int number;
String mentorName;

public void getDetail(){ //重写了父类的方法
System.out.println("name:"+name+"/n"+"age:"+age);
System.out.println("his mentor is:"+mentorName);
}
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2