Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83030
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 839
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-12 14:38
个人简介

我在收集一些石头,我期待它们有一天能够串联成一串项链。

文章分类

全部博文(31)

文章存档

2013年(31)

我的朋友

分类: Java

2013-03-21 15:39:52

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

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

上一篇:Java变长参数

下一篇:Java 构造器

给主人留下些什么吧!~~