java如何区分同时继承的父类和实现的接口中相同的方法基类代码:
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{//实现接口的方法
@Overridepublic void show() {System.out.println("implements");}
//返回实现接口的方法的实例Inter getCallBack(){return new InnerChild();}}}
运行结果:
基类构造函数{基类----show}基类----show基类构造函数{extend基类-----show}implements
结果的最后一行实现的就是接口的方法,当然这又暴露出一个继承的问题,下一篇文章中详细说明。