方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
如:
public void test(){}
public int test(){return 0;} 这样会报错
Overloaded的方法是可以改变返回值的类型 ---?这句话如何理解?
如:
public void test(){}
public int test(){return 0;} 这样会报错
Overloaded的方法是可以改变返回值的类型 ---?这句话如何理解?
所以句话可以理解为,改变参数的同时,Overloaded方法返回值也可以改变。
public void test(){}
public int test(int i){return 0;}
就是这个意思
}
//不改变返回类型
public void test(int n){
}
//改变返回类型
public int test(int n,String str){
return n;
}code]重载要参数不同,你的参数都没有,所以就出错了呗
http://blog.csdn.net/dreamhunter_lan/archive/2009/03/06/3962218.aspx
overriding :两个类存在继承关系。子类将父类的某个方法重新实现,只限于方法体的不同。当然访问权限不可缩小。返回类型和参数必须完全相同。否则就是该方法的重载了