原文链接:https://www.bilibili.com/video/av44212094?p=1
1.方法重写的应用场景和注意事项:
场景:当父类的方法不能 完全满足子类的使用时,这个时候子类重写父类的方法
并可以再方法中使用super关键字调用父类的方法,这样做即可也使用父类的功能也可以使用子类的功能
注意事项: 不能重写父类的私有方法
权限必须大于等于父类的方法
2.成员方法特点
1.子类中没有这个方法,调用父类的方法
2.子类中重写了这个方法,调用子类的
方法重写:在子类当中,子类的方法和父类的方法完全一样,子类重写了父类的方法(覆盖)
当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法
方法重载:在一个类中,有多讴歌重名的方法,但是参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关
例子:
public class App {
public static void main( String[] args )
{
Kid kid=new Kid();
kid.showTime();
}
}
class Dad {
public void showTime(){
System.out.println("第一招式:乾坤大挪移");
System.out.println("第一招式:九阳神功");
}
}
class Kid extends Dad{
public void showTime(){
System.out.println("第N招式:凌波微步");
}
}
打印:
第N招式:凌波微步
3.继承中成员变量的特点:
(1)子类只能获取父类的非私有成员
(2)子类和父类里面的成员变量不一样时,取父类的成员变量
子类和父类里面的成员变量一样时,取子类
super可以获取父类的成员变量
(3)就近原则
public class App {
public static void main( String[] args )
{
Kid kid=new Kid();
kid.showName();
}
}
class Dad {
String name="关羽";
}
class Kid extends Dad{
String name="关凤";
public void showName(){
String name= "关飞";
System.out.println(super.name);
System.out.println(this.name);
System.out.println(name);
}
}
打印:
关羽
关凤
关飞