在类继承结构中,子类可以继承父类中的全部方法,当父类某些方法无法满足子类设计需求时,就可以针对已有的方法进行扩充,那么此时在子类中定义与父类中方法名称,返回值类型、参数类型及个数完全相同 的方法的时候,称为方法覆写。
范例:方法覆写的基本实现
public class AAA {
public void cinnect() {
System.out.println("父类进行资源链接");
}
}
public class BBB extends AAA{
public void connect() {
System.out.println("子类进行资源链接");
}
}
public class AB {
public static void main(String[] args) {
BBB b=new BBB();
b.connect();
}
}
子类进行资源链接
在子类中定义了与父类结构完全相同的connect()方法,这样利用子类实例化对象调用connect()方法时所调用的就是被覆写的方法
当通过子类实例化对象调用方法时所调用的是被覆写过得方法,如果此时需要调用父类已被覆写的方法,在子类中可以使用super.方法()的形式调用。
范例:子类调用父类已被覆写的方法
public class CCC {
public void connect() {
System.out.println("父类");
}
}
--------------------------------------------------
public class DDD extends CCC{
public void connect() {
super.connect();
System.out.println("子类");
}
}
----------------------------------------------------------
public class CD {
public static void main(String[] args) {
DDD d=new DDD();
d.connect();
}
}
父类
子类
this和super调用范围
结论:this调用结构时会先从本类查找,如果没有则去寻找父类中的相应结构,而super调用时不会查找子类,而是直接调用父类结构。
2万+

被折叠的 条评论
为什么被折叠?



