基类代码:
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
结果的最后一行实现的就是接口的方法,当然这又暴露出一个继承的问题,下一篇文章中详细说明。
新闻热点
疑难解答