面向对象三大特征:
封装性
继承性
多态性
1. 封装性
所谓封装,也就是把客观事物封装成抽象的类,而且类能够把本身的属性和方法只给特定的对象或其余类进行访问,即便用不一样的访问统治权限使类被不一样的对象访问,类中的方法属性也可单独使用访问控制权限进行修饰。
简而言之就是,使类对外部保持整洁,只留有主要的接口进行类业务逻辑的使用。
没有进行封装的类,以下所示:
进行了封装的类:设计

2. 继承性
继承是指这样一种能力:它可使用现有类的全部功能,并在无需从新编写原来的类的状况下对这些功能进行扩展。
继承的主要做用在于:在已有功能基础上进行功能的扩充,对类进行扩充,代码的复用。
3. 多态性
所谓多态就是指一个类实例的相同方法在不一样情形有不一样表现形式。多态机制使具备不一样内部结构的对象能够共享相同的外部接口。(利用多态能够获得良好的设计)
多态表现为如下两点:
方法的多态
方法的重载:
同一个方法名能够根据参数数量和类型的不一样重载为不一样的方法。
方法的覆写:
同一个父类的方法,不一样的子类实例化,其方法的实现也可能不一样。
对象的多态
对象的多态主要体如今抽象类和接口,可分为向上转型和向下转型。
向上转型:
SuperObj superName = new ChildObj();1
发生向上转型通常是为了参数的统一。
向下转型:
ChildObj childName = new SuperObj();1
发生向下转型通常是为了获得子类扩充的方法。
而向上转型和向下转型的本质其实就是方法的覆写。若是子类没有对父类进行方法的覆写,也就不存在对象的多态。