面向对象——继承

本文深入探讨了Java中继承的特点,包括单继承、多层继承、覆盖规则、super的含义及使用,以及对象实例化的过程。特别强调了super在构造方法中的作用,以及如何通过子类构造方法调用父类构造方法。

一、继承(所属关系)特点

     1、单继承,可以使用多层继承来实现多继承

     2、所有的对象的都继承Object

     3、继承父类会将父类中所有的数据全部继承,包括私有的数据也能继承过去,但是在子类中无法直接访问父类中的私有数据,但是可以间接访问

二、覆盖(overwride)

     1、必须属于所属关系

     2、子类中权限必须要大于父类的权限

     3、覆盖的函数必须一模一样(返回类型、函数名、形参列表)

     4、父类中私有的方法不能被覆盖

     5、父类中静态的方法不能被覆盖

     6、在所属关系中不存在属性之间的覆盖

三、super含义

     1、super不是引用类型,super中存储的不是内存地址,super指向的不是父类对象

     2、super代表的是当前子类对象中的父类型特征

四、super()用在构造方法中

    1、子类中一个构造方法第一行如果没有this(""),也没有显示去调用super(""),系统会默认调用super();super()的调用只能放在构造方法的第一行

    2、super()和this()不能共存

    3、在没有定义super("")时,子类中所有的构造函数访问父类的无参构造函数

    4、在调用super()时不会创建父类对象

    5、通过子类的构造方法去调用父类的构造方法,作用是给当前子类对象中的父类型特征赋值

    6、在java语言中只要创建java对象,那么Object中的无参构造方法一定会执行

五、一个实例化过程

   1、JVM会读取指定的路径下的 ?.class文件,并加载进内存,并会先加载这个类的父类

   2、在堆内存中开辟空间,分配地址

   3、并在对象空间中,对对象中的属性进行默认初始化

   4、调用对应的构造函数进行初始化

   5、在构造函数中,第一行会先到调用父类中构造函数进行初始化

   6、父类初始化完毕后,在对子类的属性进行显示初始化

   7、在进行子类构造函数的特定初始化

   8、初始化完毕后,将地址赋值给引用变量

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值