覆盖:
Java中子类覆盖父类的方法必须要满足下面的条件:
(1)参数必须要一样,且返回类型必须要兼容
举例:
class A
{
boolean turn on(){}
boolean turn off(){}
}
class B extends A
{
boolean turn on(int lever){} //参数不同
}
class A
{
boolean turn on(){}
boolean turn off(){}
}
class B extends A
{
int turn on(){} //返回类型不同
}
(2)不能降低方法的存取权限存取权限必须相同,或者更开放
举例:
class A
{
public boolean turn on(){}
public boolean turn off(){}
}
class B extends A
{
private booleam turn on(){} //不能降低存取权限
}
重载:
重载是两个方法的名称相同,参数不同
返回类型可以相同也可以不同
可以更改存取权限