Java编程思想多态

1.     多态用到了动态绑定的机制。

2.     方法调用的绑定:将一个方法调用同一个方法主体关联起来叫做绑定。如果在程序执行前进行绑定,叫做前期绑定。动态绑定,也叫做后期绑定,它的含义是在运行时根据对象的类型进行绑定,用于多态机制。编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体加以调用,这是根据在对象中安置了某种“类型信息”。由于final能够防止覆盖,所以可以有效地关闭动态绑定,生产更有效的代码。

3.     多态机制使程序代码具有可扩展性。所做的代码修改,并不会对程序中其他不应受影响的部分产生破坏。

4.     只有非private的方法可以被覆盖,对private的方法覆盖的实质是创建了一个同名的新方法,因此两者就没有多态的关系。

5.     只有普通的方法调用可以是多态的,域的访问实在编译期进行的,所以不是多态因为静态方法只跟类有关,所以也不具有多态性。

6.     清理的顺序和初始化的顺序相反。先调用子类的清除函数,再根据域声明的顺序反向进行,最后调用基类的清除函数。因为子类的清理可能会用到基类的某些方法。

7.     如果一个成员对象被其他多个对象所共享,就必须使用引用计数来跟踪仍旧访问着共享对象的对象数量,只有在对象数量为零时,才有清理这个成员对象的可能。

8.     在基类中调用某个已被子类覆盖的同名方法。在对子类对象进行创建时,初始化的过程是:

1).在其他任何事物未发生前,将分配给对象的存储空间初始化为零。

2).调用基类构造器,在构造器里调用子类的覆盖方法,由于1)的缘故,此时子类的域为默认值。

3).按声明的顺序调用成员的初始化方法。

4).调用子类的构造器实体。

9.在构造器中唯一能安全调用的方法是基类的final和private方法。

10. 子类被覆盖的方法可以返回基类方法的返回类型的子类型。

11. 用继承表达行为间的差距,用组合使自己的状态发生改变。

12. 子类中接口的扩展部分不能给基类访问,因此,一旦向上转型,就不能调用那些新方法。

13. 在运行期间对类型的转换进行类型检查的行为叫做运行时类型识别。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值