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

本文通过一个具体的Java案例探讨了如何在一个类中实现抽象类与接口的多继承问题,并展示了如何利用内部类来解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今日遇到一个题目:
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值