封装:是面向对象方法的重要原则,就是把对象的属性和行为(数据)结合为一个独立的总体,并尽量隐藏对象的内部实现细节,就是把不想告诉或者不应告诉别人的东西隐藏起来,把能够告诉别人的公开,别人只能用我提供的功能实现需求,而不知道是如何实现的。增长安全性java
继承:是面向对象最显著的一个特性,继承是从已有的类中派生出新的类称为子类,子类继承父类的数据属性和行为,并能根据本身的需求扩展出新的行为,提升了代码的复用性。安全
多态:指容许不一样的对象对同一消息作出相应。即同一消息能够根据发送对象的不一样而采用多种不一样的行为方式(发送消息就是函数调用)。封装和继承几乎都是为多态而准备的,在执行期间判断引用对象的实际类型,根据其实际的类型调用其相应的方法。函数
抽象:表示对问题领域进行分析、设计中得出的抽象的概念,是对一系列看上去不一样,可是本质上相同的具体概念的抽象,在java中抽象用 abstract 关键字来修饰,用 abstract 修饰类时,此类就不能被实例化,从这里能够看出,抽象类就是为了继承而存在的,若是定义了一个抽象类而不去继承它,那么等于白白建立了这个抽象类,由于你不能用它来作任何事情,用 abstract 修饰方法时,此方法就是抽象方法,抽象方法必须存在于抽象类中,抽象方法没有方法体,对于一个父类来讲,若是它的某个方法在父类中实现出来没有任何意义,必须根据子类的实际需求来进行不一样的实现,那么就能够将这个方法声明为抽象方法,抽象方法的修饰符必须为 public 或者 protected ,应为用 private,则不能被子类继承,子类便没法实现该方法,缺省状况下默认为 public 。设计