当父类某些方法无法满足子类设计需求时,就可以针对已有的方法进行扩充,那么此时在子类中定义与父类中
- 方法名称、
- 返回值类型、
- 参数类型、
- 个数
完全相同的方法的时候,称为方法覆写
package com.mydemo;
public class ChannelDemo {
public static void main(String args[]) {
DatabaseChannel databaseChannel = new DatabaseChannel();
databaseChannel.connect();
}
}
class Channel {
public void connect() {
System.out.println("【Channel父类】进行资源的链接");
}
}
class DatabaseChannel extends Channel {
public void connect() {
// 子类调用父类中被覆写过的方法,如果此时没有使用“super.connect()”的形式定义
// 这样就相当于“this.方法()”调用本类方法,则表示递归调用,程序会出现栈溢出错误
// 另:this调用结构时会先从本类查找,如果没有则去寻找父类中的相应结构;而super调用时不会查找子类,而是直接调用父类结构。
super.connect();
System.out.println("【DatabaseChannel子类】进行数据库资源的链接");
}
}
运行结果:
【Channel父类】进行资源的链接
【DatabaseChannel子类】进行数据库资源的链接