继承

继承的概念理解:

  • 继承是面向对象的三大特征之一(封装继承多态)
  • 可以使子类具有父类的属性和方法,还可以在子类中重新定义
  • 子类可以使用父类的非私有成员

继承的好处与弊端

继承的好处:

  • 提高了代码的额复用性
  • 提高了代码的维护性

继承的弊端:

  • 继承让类与类之间的耦合性增强,父类发生变化时子类实现也不得不跟着变化削弱了子类的独立性。

java中只支持单继承不支持多继承

 

 

 

子父类中出现同名的成员变量问题:

在子类中访问一个变量采用的是就近原则:

  • 如果调用一个方法优先使用方法内同名变量
  • 方法内没有则调用子类中的成员变量
  • 子类中没有则使用父类中的成员变量
  • 如果子类中含有父类中也含有并且向同时使用,则父类需要使用super关键字进行区分

this和super关键字:

 

 

 

 关于方法重写:

 

 

 

 

 

 父类中的私有静态不能被重写,重写后的方法权限要大于等于父类的方法权限

 

四种权限修饰符:

 

 

 口诀:p空pp分别对应:类包子全

继承中构造方法的访问特点:

  • 首先要知道构造方法是用于类的初始化的
  • 子类中所有的构造方法默认都会访问父类的无参构造

子类在初始化的时候有可能会用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类中的数据

所以子类初始化之前一定要先完成父类的初始化

  • 每一个子类的构造方法的第一条默认语句都是:super();(就算不写JVM虚拟机在编译时也会自动添加)
  • 如果父类中没有空参构造方法,只有带参构造那么子类只能手动添加duper();带参。

(注意:this(...)super(...)必须放在构造方法的第一条有效语句,并且二者不能共存

 

继承子父类的内存关系图解:

子类对象在堆内存中会单独存在一块super区域,用来存放父亲的数据:

 

 

 

 

以上就是继承的大概知识点~

 

posted @ 2020-08-14 10:03  Joker-0927  阅读(115)  评论(0编辑  收藏  举报
// 侧边栏目录