面向对象的特征详解(详细易懂)

面向对象有三个特征,封装,继承,多态

封装:类和方法其实都是封装,封装的好处有提高了代码的复用性,隐藏了实现的细节,提高了安全性

继承:提高了代码的复用性,是多态产生的前提.但是增加了类与类之间的耦合,继承打破了封装性  要优先使用组合而不是继承,在包内使用继承是非常安全的,对于具有很好的文档说明的类来说,使用继承也是非常安全的,但是对于普通的具体类继承跨包继承是非常危险的,当两者存在is-a的关系的时候考虑使用继承,has-a关系的时候考虑使用组合

多态:

特征①多态的前提是必须得有继承

②父类引用变量指向子类对象

③父类引用变量调用方法时,会调用子类重写后的方法;为了可以使用子类独有的方法,可以进行向下转型,为了避免出现类型转换异常,可以在向下转型前使用instanceof关键字进行类型判断

你可能感兴趣的:(javase笔记)