Java 继承与多态

来源:互联网 发布:知乎 cqy是什么意思 编辑:程序博客网 时间:2024/05/18 01:50
用于继承中的替代覆盖规则:
    1.    重写方法返回的数据必须可以替代原来返回的数据。原始类型,只有完全相同才能取代,对象引用则必须是原来引用类型的子类或同类,否则新的类型将无法胜任原来类型的任务。
    2.    参数列表一旦发生变化,也就意味着这个方法的调用方式发生了变化,这样一来就更不可能去替代老方法了。
    3.    访问限制如果比老方法的访问限制还要严格的话,那么原来可以访问该方法的代码,现在就有可能访问不到了,这样就无法替代老方法了。

Java中给予继承多台的实质含义与作用:
    1.    抽象类中的抽象方法,只是起到了契约的作用。例如,继承自汽车的非抽象类,必须实现具体的刹车方法,否则编译不通过。弗雷中抽象方法个数是具体子类需要实现方法个数的最低限度,不能比起少,但是可以比弗雷中抽象方法的个数多,例如一些子类中特有的方法。
    2.    因为具体子类遵守了契约,所以对于调用者而言,只要使用父类的引用就可以使用所有具体子类实现的不同功能,服了的抽象方法,调用者不必了解子类方法中的实现细节。
    3.    但是,如果站在具体子类的角度上(使用特定具体子类类型的引用),则就没有这么强的灵活性了,因为特定类型的子类引用只能指向这个类的对象,想要使用其他类型的对象就不方便了,这就是多态性带来的好处,基于继承的多态充分说明,抽象层耦合比具体层耦合的选择性,灵活性更好。
阅读(105) | 评论(0) | 转发(0) |
0

上一篇:Java变长参数

下一篇:Java 构造器

相关热门文章
  • JDK1.6官方下载_JDK6官方下载_...
  • MyEclipse6.5下载及注册码...
  • Eclipse+MyEclipse的配置
  • Eclipse 插件安装、升级和卸载...
  • 最新版SWT Designer 6.0 安装,...
  • ChinaUnix & ITPUB社区12周年...
  • ssh连接出现以下提示,求解...
  • 如何扩展MYSQL
  • 准备做一个大型门户,用户什么...
  • gbk or utf8
给主人留下些什么吧!~~
原创粉丝点击