# java201904002 **Repository Path**: GUOSD/java201904002 ## Basic Information - **Project Name**: java201904002 - **Description**: 继承 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-04-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java201904002 #### 介绍 继承 #### 软件架构 软件架构说明 #### 笔记 1.继承 、、、、 1.1继承概念 继承:子类获取父类允许获取的属性和行为的一种编程机制 目的:代码复用,使用已有的类作为父类,通过继承的方式衍生出新的子类; 注意: java的继承是单继承;也就是一个类只能有一个直接父类;C++语言多继承,一个类有多个父类; java继承使用关键字extends进行实现; 语法: 访问控制修饰符 其他修饰符 子类名extends 父类{ //子类类体 } 子类可以继承父类的成员变量、行为方法; 子类不能继承父类的构造方法,但是在new构建子类实例对象时需要递归调用父类的构造方法; 子类除了继承父类的属性和方法之外,新增扩展的属性和方法; 1.2继承中的封装 父类不会无条件的把所有信息继承给子类; 可以通过访问控制修饰封装继承范围: 继承范围 访问范围 private:子类不能继承; 本类内部 默认的:同包的子类可以继承 同包的类及同包的子类 protected:同包及非同包的所有子类可以继承; 同包的类及所有的子类(同包的子类和非同包的子类) public:所有的子类可以继承; 所有的类 1.3继承中的构造方法 构造方法不能继承; 在使用new构建类实例对象时,子类的构造方法会默认递归调用父类的 构造方法;( 先执行父类的构造方法,在执行子类的构造方法) 注意,java中最高父类是object类,也就是,object类是所有类的直接或间接父类; 子类的构造方法可以通过super(参数列表)调用父类的构造方法; super中的实参列表需要和父类中的定义的构造方法的形参列表一一对应 ; 如果子类中没有显示使用super调用父类的构造方法,则jvm会默认调用父类的构造方法; 子类的构造方法都会调用父类的构造方法(可以通过super显式调用,可以有jvm默认调用父类的默认构造方法) 有子类继承的父类,必须提供子类所需的构造方法; 1.4super和this关键字的使用 this关键字:指代当前类的实例对象; this可以调用当前的属性和方法; this(实参列表)可以调用当前类中的构造方法(仅限于构造方法之间调用) super关键字:指代当前类所继承的父类的实例对象 super可以调用当前类所继承的父类中的允许访问的属性和方法;(多态中讲) super(实参列表)可以调用当前类的父类的构造方法(仅限于父子类构造方法之间的调用) 、、、、、 2. 多态 、、、、、 2.1多态 子类继承了父类的行为方法,子类对于继承的父类的行为方法可以进行覆盖和扩展; 子类的行为方法覆盖了父类同名的行为方法叫做重写(override); 重写是多态的一种体现形式; 溯型是多态的另外一种形式;(使用父类类型变量指向子类的实例对象)(父类代替子类) 溯型分为向上和向下溯型两种方式; 多态可以从两个角度去解释: 子类角度: 子类覆盖父类的同名的行为方法(重写) 父类角度: 父类代指子类(向上溯型)(使用父类类型变量指向子类的实例对象) 软件工程原则: 面向父类的编程(面向接口的编程) 高内聚低耦合; 、、、、、 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)