java的三大特性:封装、继承、多态
封装,简单的词面意思就是 把一些东西放在盒子里,然后进行打包;
概念:封装也称为信息的隐藏,指利用抽象的数据类型将数据和基于数据的操作封装在在一起,构成不可分割的独立实体,
数据被保护在抽象的数据类型的内部,隐藏内部细节,保留一些接口用于对外部发生联系。封装后的数据,只对信任的方法调用;
好处,实现了专业的分工。隐藏了细节,实现细节,对不该改变的数据进行了保护,只对信任的类开放调用。
继承:
一个类继承一个类,继承的称为子类,被继承的称为父类,
目的:
可以实现代码的复用
子类与父类的关系并不是日常生活中的父子关系,子类和父类是一种特殊化的关系,父类要是被子类继承,就需要开放适当的权限。
继承后子类自动有了父类的属性和方法,但是要注意的是,父类的私有属性和构造方法是不可以被继承的,另外,子类可以写自己的特有的属性和
方法,这样做的目的是实现功能的扩展,子类也可以复写父类的方法,即方法的重写。
多态:
封装和继承几乎就为多态准备的,多态就是在层面上实施一个统一的行为,到个体的具体层面上去,这个统一的行为会因为个体的形态
特征而实施自己的特征行为。
概念:
相同的事物,调用其相同的方法,参数也想同时,但是表现的功能行为却不一样。
简单的理解,就是子类以父类的身份出现,做事情还是以自己的方法实现。子类以父类的身份出现,需要向上转型,(upcast),
其中向上转型是由jvm自动实现的的,是安全的。但向下转型是不安全的,需要强制转换。子类以父类的身份出现时有自己的属性和方法将不能使用