Java封装继承覆盖

来源:互联网 发布:非线性优化计算方法 编辑:程序博客网 时间:2024/03/29 14:03
封装:
       作用:隐藏对象的属性和实现细节,仅对外提供公共访问方式
       好处:将变化隔离、便于使用、提高重用性、提高安全性
       原则:将不需要对外提供的内容都隐藏起来。
                  把属性都隐藏提供公共方法对其访问。
    
继承:
        好处:提高代码复用性
                   让类与类之间产生关系,给多态提供前提
        弊端:打破了封装性

覆盖:
       *主意事项:
              1、子类覆盖父类方法时,子类权限必须要大于等于父类的权限。
              2、静态只能覆盖静态,或被静态覆盖。
       使用情况:

              当对一个类进行子类的扩展时,子类需要保留父类的功能声明,但是要定义子类中该功能的特有内容时,

              就使用覆盖操作完成。


在子类的构造函数中第一行有一个默认的super()语句。
子类中所有的构造函数默认都会访问父类中的空参数的构造函数。

子类实例化访问父类构造函数原因:
       子类继承父类获取到父类的属性,使用父类前要对其进行初始化。
       如果父类没有定义空参数构造函数,子类的构造函数必须要用super明确调用父类的构造函数。
       子类构造函数中使用this调用本类构造函数,super就没有,用为super和this都只能定义在第一行。
       子类中肯定会有其他的构造函数访问父类的构造函数。