考虑你曾经开发的某个接口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);
}
这样用户就可以选择是使用旧的接口还是升级到新的接口.
分享到:
相关推荐
Java是一门多线程语言。 进程:每一个软件运行,就会在操作系统中产生一...继承类与实现接口都 需要重写 run方法 ,线程需要完成的功能代码放在run 方法中。 线程的状态:新生状态、可运行状态、阻塞状态、死亡状态
14.6.5 SortedSet接口与TreeSet类 292 14.6.6 自定义满足Sorted集合的类 293 14.6.7 定制SortedSet的排序规则 296 14.6.8 集合的遍历 298 14.6.9 使用for-each循环遍历集合 300 14.7 映射集 301 14.7.1...
JavaSE基础:标识符、关键字、字面量、数据类型、类型转换、修饰符、代码块、方法重载、this关键字、继承、方法重写、抽象类、接口、异常、I/O流
JAVASE基础最常见的面试题以及面试时如何介绍自己的项目,少走弯路 一。重写与重载区别 二。throw 与 thorws 三。接口与抽象类区别 四。NullPointerException产生的场景 五。HashMap 与 HashTable区别 六。面试时...
多态(polymorphism)的要点,多态的好处和弊端,抽象(abstract),抽象(abstract)类的使用要点,接口(interface),接口的一些方法,接口的扩展(概念),内部类的要点,数组的定义和本质,String类是什么,常用的方法,StringBuffer...
JavaSE的语法 重载和重写 方法的重载和重写都是实现多态的方式,前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载指的是一个类中具有多个功能相似的函数。重写是指子类继承了父类的方法并且覆盖了...
5.JAVA的数据类型分为哪几类? 基本数据类型和引用数据类型 6.String/StringBuffer/StringBuilder的区别是什么? String:不可变 StringBuffer:可变,并且线程安全,效率差。 StringBuilder:可变,线程不安全,效率高...
IntroductionMySpider是使用Java语言实现的网络爬虫项目,它本来是我的一个个人爬虫练习项目,但是由于爬虫需求丰富,针对每次爬虫需求总感觉让我在重写整个项目的感觉,故为了提高开发效率,我开发了MySpiderWhat ...
文章目录一、JavaSE基础二、JavaWeb部分三、框架部分四、数据库部分五、程序算法六、JVM调优七、Java优化八、Redis相关九、Nginx相关十、WebService相关十一、其他 一、JavaSE基础 接口和抽象类的异同点 重载...
控制台版的java员工信息管理系统,使用了各种javaSE的基础知识,例如类、接口的编写与实现、类的继承、方法的重写与重载
16.2.1 重写Override430 16.2.2 警告Deprecated431 16.2.3 抑制警告SuppressWarnings433 16.3 自定义注解类型433 16.4 对注解进行注解435 16.4.1 目标Target435 16.4.2 类型Retention436 16.4.3 文档Documented437 ...
在javaSE中,注解的功能比较单一,例如标记过时的功能,忽略警告等等。但注解在javaEE中占据了更重要的角色,尤其是在使用框架时,例如用来配置应用程序的任何切面,代替javaEE旧版中所残留的冗余代码和XML配置等等...
是一个接口,本身不能实例化,我们需要定义一个类实现该接口,并重写其定义的accept方法来定义过滤规则。 accept方法用于定义过滤要求,当给定的file对象满足要求就返回true即可。 重载的listFiles方法: ...
将 /src/main/resource/application.yml_template 重命名为 application.yml 并重写 DB 连接字符串等设置。 使用 mvn spring-boot 运行:运行。 应用程序接口 POST / api / 门户 添加门户信息。 获取 /api/portal....
{2.2.2}方法重写/覆盖}{50}{subsection.2.2.2} {2.3}修饰符}{51}{section.2.3} {2.4}父类对象的方法调用}{51}{section.2.4} {2.5}封装}{52}{section.2.5} {2.6}多态}{53}{section.2.6} {2.7}Sample code}{54}...