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

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 }
复制代码

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

posted on 2022-10-04 01:29  bdy  阅读(55)  评论(0编辑  收藏  举报

导航