本帖最后由 涐扪①起奮乧 于 2013-12-1 21:57 编辑
public class A
{
private void a(int i, int j) throws Exception {...}
protected void b(String s) {...}
}
class B extends A
{
protected void a(int i, int j) throws IOException {...}
public void b(String s) {...}
public void b1(String s, int j){...}
}
overlod是父类方法的重载,方法名称一致,但参数序列或类型不一致
override是父类方法的覆盖,方法名称一致,参数序列和类型完全一致,使用时只调用本类方法,即是覆盖了父类的方法
B中的a方法和第一个b方法覆盖了A中的a, b方法,B中的第b1方法有两种定义方式,所以它被重载了。
我要问的是下面问题:
方法的重载(overload)必须发生在同一个类中。就针对这句话,我不理解。上面例子中不是B和A两个类吗?且B类中的b1方法重载了A类中的b方法。还请解释一下。 |