`
atmosphere
  • 浏览: 14123 次
  • 性别: Icon_minigender_1
博客专栏
807a8b01-317a-34bf-9d0f-011a7c5a74b4
javase7官方教程翻译...
浏览量:10675
社区版块
存档分类
最新评论

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

阅读更多

考虑你曾经开发的某个接口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);
   
}

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

分享到:
评论

相关推荐

    JavaSE多线程

    Java是一门多线程语言。 进程:每一个软件运行,就会在操作系统中产生一...继承类与实现接口都 需要重写 run方法 ,线程需要完成的功能代码放在run 方法中。 线程的状态:新生状态、可运行状态、阻塞状态、死亡状态

    javaSE代码实例

    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关键字等)

    JavaSE基础:标识符、关键字、字面量、数据类型、类型转换、修饰符、代码块、方法重载、this关键字、继承、方法重写、抽象类、接口、异常、I/O流

    JAVASE基础最常见的面试题

    JAVASE基础最常见的面试题以及面试时如何介绍自己的项目,少走弯路 一。重写与重载区别 二。throw 与 thorws 三。接口与抽象类区别 四。NullPointerException产生的场景 五。HashMap 与 HashTable区别 六。面试时...

    javaSE整体学习总结,超级全面

    多态(polymorphism)的要点,多态的好处和弊端,抽象(abstract),抽象(abstract)类的使用要点,接口(interface),接口的一些方法,接口的扩展(概念),内部类的要点,数组的定义和本质,String类是什么,常用的方法,StringBuffer...

    java面试题总结.docx

    JavaSE的语法 重载和重写 方法的重载和重写都是实现多态的方式,前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载指的是一个类中具有多个功能相似的函数。重写是指子类继承了父类的方法并且覆盖了...

    Java复习大纲面试题.doc

    5.JAVA的数据类型分为哪几类? 基本数据类型和引用数据类型 6.String/StringBuffer/StringBuilder的区别是什么? String:不可变 StringBuffer:可变,并且线程安全,效率差。 StringBuilder:可变,线程不安全,效率高...

    MySpider:Java网络爬虫MySpider,特点是组件化,可插拔式的,可以根据一套接口实现你自己自定义的网络爬虫需求(本人JavaSE的温习项目,适合java新人)

    IntroductionMySpider是使用Java语言实现的网络爬虫项目,它本来是我的一个个人爬虫练习项目,但是由于爬虫需求丰富,针对每次爬虫需求总感觉让我在重写整个项目的感觉,故为了提高开发效率,我开发了MySpiderWhat ...

    JAVA面试题收录

    文章目录一、JavaSE基础二、JavaWeb部分三、框架部分四、数据库部分五、程序算法六、JVM调优七、Java优化八、Redis相关九、Nginx相关十、WebService相关十一、其他 一、JavaSE基础 接口和抽象类的异同点 重载...

    workermanager.7z

    控制台版的java员工信息管理系统,使用了各种javaSE的基础知识,例如类、接口的编写与实现、类的继承、方法的重写与重载

    java基础案例与开发详解案例源码全

    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 ...

    建模的Java功能部分,.rar

    在javaSE中,注解的功能比较单一,例如标记过时的功能,忽略警告等等。但注解在javaEE中占据了更重要的角色,尤其是在使用框架时,例如用来配置应用程序的任何切面,代替javaEE旧版中所残留的冗余代码和XML配置等等...

    3Java SE(下).doc

    是一个接口,本身不能实例化,我们需要定义一个类实现该接口,并重写其定义的accept方法来定义过滤规则。 accept方法用于定义过滤要求,当给定的file对象满足要求就返回true即可。 重载的listFiles方法: ...

    ingress-portal-helper

    将 /src/main/resource/application.yml_template 重命名为 application.yml 并重写 DB 连接字符串等设置。 使用 mvn spring-boot 运行:运行。 应用程序接口 POST / api / 门户 添加门户信息。 获取 /api/portal....

    Java学习笔记-个人整理的

    {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}...

Global site tag (gtag.js) - Google Analytics