匿名内部类 同时 实现继承 同名方法

来源:互联网 发布:非线性与最优化 编辑:程序博客网 时间:2024/05/11 13:59
  今日遇到一个题目:
A类 抽象类 有方法 z() , y()
B接口   也有方法  z() , y()
现在有 D类 想实现B 继承C ,并且同时实现z() , y()
 
仔细想想就是利用内部类实现多继承的问题.写了一个例子.希望大家多指正.
------------------------------------------------
package cn.ly;
public abstract class A {
    public abstract void z();
 
    public void y(){
         System.out.println("abstract class A method y");
    }
}
------------------------------------------------
package cn.ly;
public interface B {
    public void z();
    public void y();
}
------------------------------------------------
package cn.ly;
public class C extends A implements B{
    public void z() {
          System.out.println("class C 实现 abstract A method Z");
    }
 
    public void y(){
         super.y();
    }
 
    public B getB(){
        return new B(){
            public void y() {
                   System.out.println("interface B impl method Y");
            }
            public void z() {
                   System.out.println("class C 实现 B method Z");
            }
   
         };
    }
 打印结果

abstract class A method y
class C 实现 abstract A method Z
interface B impl method Y
class C 实现 B method Z

 


 
原创粉丝点击