欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVASE官方教程:接口之重写接口(5)

程序员文章站 2022-04-16 12:16:46
...

考虑你曾经开发的某个接口DoIt:

public interface DoIt {
   void doSomething(int i, double x);
   int doSomethingElse(String s);
}

 

假如,在将来的某个时候,你想为接口增加第三个方法,所以接口变成了:

public interface DoIt {

   void doSomething(int i, double x);
   int doSomethingElse(String s);
   boolean didItWork(int i, double x, String s);
   
}

 

如果你这样改写的话,所有实现了旧的DoIt接口的类都将不能正常工作,因为他们没有实现第三个方法.依赖这个接口的程序员肯定会大声抱怨.

 

你可以创建一个新的接口DoItPlus接口继承DoIt:

public interface DoItPlus extends DoIt {

   boolean didItWork(int i, double x, String s);
   
}

 这样用户就可以选择是使用旧的接口还是升级到新的接口.