java温习*(21):接口中的内部类应用

我们在实际开发过程中,如果想要创建某些公共代码,使得它们可以被某个接口的所有不同实现所共用,那么接口内部的嵌套类会显得很方便。也就是说,在接口中可以含有内部 类,实现类可以根据各自的需求进行有针对性的复用和调整。

在这里,将结合案例分别展示接口中放置普通成员内部类和抽象成员内部类的特点及应用。

譬如下例所示:

定义接口IOuterInterface,其中分别定义了常量TEMP、抽象方法abMethod、默认方法deMethod、静态方法stMethod、普通成员内部类InnerClass和抽象成员内部类AbInnerClass(如图1)。//img.mukewang.com/5eb52ef30001f62b05530547.jpg

(图1)

当类实现该接口时,如需设置为非抽象类,则只需实现接口中抽象方法abMethod即可,譬如:

  • 创建非抽象类ClassDemo实现IOuterInterface。此时,类中需实现接口中的抽象方法abMethod,但并不需刻意继承接口内的普通成员内部类及抽象成员内部类。为方便后面实例获取,在ClassDemo中设置获取普通成员内部的方法getInner,(图2)。

//img.mukewang.com/5eb52f0100013b8d05540295.jpg(图2)

定义测试类Test,在main方法中通过三种方案,分别获取IOuterInterface接口中定义的普通内部类对象并调用其show方法(如图3)。

//img.mukewang.com/5eb52f0e0001bf2806230541.jpg(图3)

运行结果(如图4):

//img2.mukewang.com/5eb52f290001905802980146.jpg(图4)

  • 创建非抽象类 AbClassDemo 实现 IOuterInterface。此时,类中除实现接口中的抽象方法abMethod外,通过内部类AbDemo继承抽象类AbInnerClass,并实现其抽象方法abInfo(如图5)

//img2.mukewang.com/5eb52f3f0001c1b205540310.jpg(图5)

定义测试类TestOne,在main方法中通过两种方案,分别获取抽象内部类对象并调用其方法(如图6)。

//img1.mukewang.com/5eb52f4c0001dbb006100471.jpg(图6)

运行结果(图7):

//img4.mukewang.com/5eb52f55000157b802840145.jpg​ (图7)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值