zoukankan      html  css  js  c++  java
  • Java super关键字调用父类的方法疑惑

    写了一个例子,运行结果不是很理解,如下:

     1 public class PhoneBill extends Bill {
     2     @Override
     3     public void foo1(){
     4         System.out.println("PhoneBill:foo1");
     5     }
     6     @Override
     7     public void foo2(){
     8         System.out.println("PhoneBill:foo2");
     9         super.foo2();
    10     }
    11 }
    1 public class Bill {
    2     public void foo1(){
    3         System.out.println("Bill:foo1");
    4     }
    5     public void foo2(){
    6         this.foo1();
    7         System.out.println("Bill:foo2");
    8     }
    9 }
    1 public class test {
    2 
    3     public static void main(String[] args) {
    4         // TODO Auto-generated method stub
    5         PhoneBill phone = new PhoneBill();
    6         phone.foo2();
    7     }
    8 }

    运行结果如下:

    PhoneBill:foo2
    PhoneBill:foo1
    Bill:foo2

     子类里通过super调用父类的foo2方法,该方法里又调用foo1,为什么调用的是子类的foo1方法呢?是因为foo1方法被子类覆盖了的原因吗?哎,搞不清这里的方法是怎么调用的

  • 相关阅读:
    Python 双向链表的实现
    Python 单链表实现
    分享两种 Python 中的单例模式
    HTML 盒子模型
    HTML 行高
    HTML 超链接 文本修饰 背景属性
    HTML 标签分类
    HTML 文字,样式表
    HTML CSS
    HTML 锚点 空链 超链优化写法
  • 原文地址:https://www.cnblogs.com/aitixiaocai/p/4368141.html
Copyright © 2011-2022 走看看