目录
1.super关键字
基本介绍
基本语法
案例演示
2.super使用细节
细节1
细节2
细节3
super和this的比较
1.super关键字
基本介绍
super代表父类的引用,用于访问父类的属性,方法,构造器。
基本语法
不能用super去访问父类的private权限的属性和方法。
案例演示
用super.直接访问
这里访问不了n4,因为n4在父类中的权限为private。
这里不能使用test400方法,因为它的父类的权限为private。
2.super使用细节
细节1
父类属性由父类初始化,子类属性由子类初始化。
父类有父类的构造器,子类有子类的构造器,只需要在子类构造器里写一个super调用父类构造器就行了。
细节2
有重名时,可以通过super访问父类的成员,不然默认是子类的那个成员。
因为这里只有父类中有cal方法,所以这三种方式访问cal方法等价。
如果不用super的方式调用函数,先会查找本类里有没有,没有的话再找父类,以此类推,如果没找到则会提示出错。
this方法与此逻辑相同。
super方法则会去掉查找本类的过程,直接从父类开始找,其它与此相同。
细节3
找父类的n1,发现有。所以输出的就是这个n1的值,为100。
如果父类里没有n1,那么会去父类的父类里去寻找n1。方法也是同理。