java中关于继承、多态和封装的个人理解

super:子类中调用父类的普通方法或成员变量  

构造方法的第一句总是:super(...)来调用父类相应的构造方法。流程是:先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。(注:静态初始化块调用顺序,与构造方法调用顺序一样)


java的三个特性:
1、继承:从一个类(父类)中派生出的新类,称之为子类,子类可以实现父类中所有的非私有化属性和方法。并且根据自己的需要能扩展出新的属性和方法。

继承可以提高代码的可维护性,减少代码的冗余度。继承也是可以传递的,容易在基类对象上进行子类的扩充等。


2、封装:封装是指利用抽象数据类型和基于数据的操作结合在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据之外被授权的操作,才能与这个抽象数据类型进行交互。

就是把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。举个例子:比如我们用电视机,只要按电视机的按钮就能用,而不用管电视机里面的结构怎么做、有多复杂,就是让需要用户知道使用的暴露出来,不需要用户知道的隐藏起来。
    程序设计追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。
    封装的优点:1.提高代码的安全性2.提高代码的复用性3.“高内聚”:封装细节,便于修改内部代码,提高可维护性4.“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。

java中对类和类中的成员都定义了修饰符:

        对类:public、default

        对类中成员:public、protect、default、private

        

                             

若要调用一个类中的private属性的值,需要通过set、get方法来进行调用


3、多态:
1.多态是方法的多态,而不是属性的多态(多态与属性无关)
2.多态的存在有3个必要条件:继承,方法重写,父类引用指向子类对象
3.父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了

猜你喜欢

转载自blog.csdn.net/dyy0920/article/details/83830999