【JAVA】java中implements和extends的使用小结

本文探讨了Java中接口(interface)与抽象类(abstract class)的使用技巧,特别是在面对大量接口方法时如何通过抽象类来简化实现过程。通过示例说明了如何避免为每个接口方法都提供实现。

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

java中implements和extends的使用小结

复制代码
  1 interface InterfaceOne
  2 {
  3        void sayHello();
  4 }
  5 
 10 interface InterfaceThree extends InterfaceOne
 11 {
 12 }
 13 //抽象类可以不用实现接口或父抽象类的方法。
 14 abstract class AbstractClassOne implements InterfaceOne
 15 {
 16 }
 17 abstract class AbstractClassTwo extends AbstractClassOne
 18 {
 19 }
 20 //非抽象类一定要实现接口内的方法。
 21 class ClassOne implements InterfaceOne
 22 {
 23        public void sayHello() {};
 24 }
复制代码

如果遇到一个接口中需要实现的方法很多,但我们只需要用其中的几个方法, 
假设需要继承的接口是:

复制代码
  1 interface A
  2 {
  3        void operation1();
  4        void operation2();
  5        ……
  6        void operation100();
  7 }
复制代码

假设我们只需要使用其中的operation5 
如果直接继承这个接口,则所有方法都要实现:

复制代码
  1 class Class implements A
  2 {
  3        public void operation1(){}
  4        public void operation2(){}
  5        ……
  6        public void operation5(){
  7                
 10        }
 11        ……
 12        public void operation100(){}
 13 }
复制代码

这样十分麻烦,所以可以使用如下方法解决, 
新建一个抽象类(如果规定一个接口方法一定要实现,则把它设为抽象方法,比如说operation99必须要实现):

复制代码
  1 abstract class Abstract implements A
  2 {
  3        public void operation1(){}
  4        public void operation2(){}
  5        ……
  6        public void operation98(){}
  7        //这里的operation99就不提供虚实现,从而必须要在具体类中实现它。
  8        public void operation100(){}
  9 }
复制代码

为所有接口方法提供一个虚实现,今后要利用这个接口只需要进行如下操作:

复制代码
  1 class Class extends Abstract
  2 {
  3        //重写operation5
  4        public void operation5(){
  5                
  8        }
  9        //实现operation99
 10        public void operation99(){
 11                
 14        }
 15 }
复制代码

这样就不必为每个接口方法提供实现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值