码迷,mamicode.com
首页 > 编程语言 > 详细

java如何区分同时继承的父类和实现的接口中相同的方法

时间:2015-08-04 13:13:43      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

问题是这样的:一个父类中有一个方法,一个接口中有一个与父类方法重名的方法,现在子类中要同时继承父类和实现接口,那么应该怎么区分子类的方法是重写的父类的还是实现的接口的。

基类代码:

public class Father {
  public Father() {
    System.out.println("基类构造函数{");
    show();
    System.out.println("}");
  }
  public void show() {
    System.out.println("基类----show");
  }
}

接口:

public interface Inter {
  public void show();
}

子类的实现方法:外部类继承父类,内部类实现接口,然后内部类实现一个方法返回继承接口的内部类实例

具体代码:

//外部类继承父类

public class Child extends Father{
  public static void main(String[] arf){

    //实例化父类并调用父类方法

    new Father().show();

    //实例化子类并调用实现接口的内部类实例的实现方法

    new Child().new InnerChild().getCallBack().show();
  }

  //重写父类的方法
  public void show(){
    System.out.println("extend基类-----show");
  }

  //内部类实现接口
  private class InnerChild implements Inter{
    //实现接口的方法

    @Override
    public void show() {
      System.out.println("implements");
    }

    //返回实现接口的方法的实例
    Inter getCallBack(){
      return new InnerChild();
    }
  }
}

运行结果:

基类构造函数{
基类----show
}
基类----show
基类构造函数{
extend基类-----show
}
implements

结果的最后一行实现的就是接口的方法,当然这又暴露出一个继承的问题,下一篇文章中详细说明。

java如何区分同时继承的父类和实现的接口中相同的方法

标签:

原文地址:http://www.cnblogs.com/xiufengd/p/4701433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!