1.方法的重写(override/overrideing):重新写,覆盖
发生在父子类中,方法名相同,参数列表相同
重写方法被调用时,看对象的类型------------这是规定,记住就可以
class 餐馆{
void 做餐(){ 做中餐 }
}
//1)我还是想做中餐-------------------不需要重写
class Aoo extends 餐馆{
}
//2)我想改做西餐---------------------需要重写
class Boo extends 餐馆{
void 做餐(){ 做西餐 }
}
//3)我想在中餐基础之上加入西餐---------需要重写
class Coo extends 餐馆{
void 做餐(){
super.做餐();
做西餐
}
}
遵循"两同两小一大"原则:-------了解即可一般是一模一样
两同:
方法名相同
参数列表相同
两小:
派生类方法的返回值类型小于或等于超类方法的
void和基本类型时,必须相等
引用类型时,小于或等于
//超类大,派生类小
class Aoo{ //大
void show(){}
double test(){ return 0.0; }
Boo say(){ return null; }
Aoo sa