重写重载发生在函数上,继承发生在类上!
重写在继承的基础之上;
重载与重写都是函数的特性,
重载只看参数列表,重写要看函数所有:(权限,返回值类型,函数名必须一样,参数类型与个数必须一样);
我给你通俗点打比方,可能不是很恰当,只希望明白就好!
//先说重载!
class 小明
{
/*小明会射击至于哪种类型的武器代表参数*/
//方法1
void 射击(int 弓)
{
}
//方法2
void 射击(String 枪)
{
}
//方法3
void 射击(String 枪,int 弓)
{
}
/*方法名都一样,只是参数列表不一样*/
}
/*----------------------说说继承!-----------------------------------*/
class 小明爹
{
//方法1
void 射击(int 弓)
{
}
}
class 小明 extends 小明爹
{
//这里什么都没定义!
//什么都没有的情况下,小明就有他爹的射击这个方法了!
}
/*--------------------------重写-----------------------------*/
class 小明爹
{
//方法1
void 射击(int 弓)
{
蛙泳式;
}
}
class 小明 extends 小明爹
{
//小明觉得他爹的射击姿势很不给力,他决定覆盖他爹的方法,也称为重写!
void 射击(int 弓)
{
狗刨式;
}
}
//如果实例化小明以后,调用这个射击的动作就是小明自己的了,明白吗?
//当然其实也能调用他爹的,这个需要他爹内部对外提供一个方法即可!
//默认实例化完以后,在调用射击这个方法,就是小明的狗刨式了!
比喻不是很恰当,只希望你能明白!和你一样,我也是初学者!基础部分很关键!