首页 > 编程语言 > 详细

Java super关键字调用父类的方法疑惑

时间:2015-03-26 12:55:40      阅读:215      评论:0      收藏:0      [点我收藏+]

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

 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方法被子类覆盖了的原因吗?哎,搞不清这里的方法是怎么调用的

Java super关键字调用父类的方法疑惑

原文:http://www.cnblogs.com/aitixiaocai/p/4368141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!