重温java知识(十七、继承之二:方法覆写)

当父类某些方法无法满足子类设计需求时,就可以针对已有的方法进行扩充,那么此时在子类中定义与父类中

  • 方法名称、
  • 返回值类型、
  • 参数类型、
  • 个数
    完全相同的方法的时候,称为方法覆写
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子类】进行数据库资源的链接
发布了149 篇原创文章 · 获赞 4 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/yuzhiboyouzhu/article/details/105644097