由于是第一次写博客,所以如果写的不好不周到的地方还希望多多包涵,也希望各位能多提宝贵意见。知道java中有三大特性,分别是封装、继承、多态;但是对于新手来说要掌握这些概念还是有点困难,今天有人问到这方面的问题,就顺手总结一下三者的概念;


封装: 就是把对象的属性和操作(方法)结合为一个独立的整体, 并尽可能隐藏对象的内部实现细节。相当于客观世界里成员变量都是隐藏在对象内部的, 外界无法直接操作和修改 。比如比较常见的封装用private修饰的成员或者说方法,不能被其他类直接去调用,需要通过相应的开口方法(getter/setter)去进行访问。被封装之后的方法因为外部不能直接访问和操作所以安全性会大大提高 ,又因为你已经把对象的封装称为一个整体了,所以再用到这个整体的时候就可以直接拿整个整体去用不需要在重复的写已经封装好的代码了。所以封装的好处:  通过方法来控制成员变量的操作 , 提高代码的安全性,把代码用方法进行封装 , 提高了代码的复用性。

继承 :  继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称为子类,一般情况下子类是父类的一种才会用继承,继承能让子类能够拥有父类的成员(成员变量和成员方法);可以理解为亲属关系 ,父类就像父亲,其中一个子类就是你,为什么说其中一个呢,因为一个父类可以有多个子类去继承。 但是每一个子类只能有一个亲生父亲。一般情况下父类拥有的成员子类都能继承,但是被私有的成员子类无法继承,继承父类之后,子类可以有自己的特有的成员(成员变量和成员方法),构造方法也不能被继承,可以通过super关键字访问父类的构造方法。就相当于你父亲有个情人,被他藏起来了。你可以继承你父亲的资产,但是他的一些私人的东西比如情人,内裤之类的不想给你继承,他就会私有。所以父类私有的东西是无法被继承的。就算你也有内裤也有情人,也不属于从你父亲那里继承过来的。所以所父类中被私有的东西无法被继承,即使子类中有一样的变量和一样的方法也不属于继承和重写的。java中类只支持单继承 , 一个类只能有一个父亲,却可以多层继承, 即一个类可以有父亲,可以有子类,一个类可以有多个子类,不可以循环继承。


多态: 是指一个事物具有多种形态。多态最终体现为父类引用变量(相当于父类为数据类型 创建一个变量名 p = )指向子类对象

多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态.在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。简单点理解呢就是一个类是引用数据类型嘛,

 比如说有一个Animal类,那么父类 Animal  p= new Dog();//Dog继承Animal类   这里的Animal你看为一种数据类型  P为变量名,就相当于p这个变量指向 new Dog();这个对象。

多态格式 : 父类的引用变量之指向子类对象 

                父类类名  变量名= new 子类类名( ) ;    

                接口名    变量名= new 子类实现类( );


我个人是这么理解这三个特性的概念,有大神有更好的解释的希望多多批评指正。