Super详解

用程序理解Super

方法调用.name

 

 

this.name

 

 

Super.name

 

 

联合比较

 

 

无参构造调用

 

 

图中右侧两个红框部分为无参构造(自动生成构造器)

查看执行结果,发现先调用了父类D1001Person的无参构造,然后再执行了子类D1002Student的无参构造

如下图所示

 

 

 

注意

父类无参构造的调用代码必须写在子类构造器的第一行,如上图

如下图,把隐藏代码super();写到下边,报错了

 

 

 父类写有参构造,子类只能调用有参构造

 

 

 

 调用无参构造或者不写调用代码直接报错,因为隐藏代码就是默认调用父类的无参构造,如图super();

 

 

 

 

Super注意点

1.super调用父类构造方法,必须放在子类构造中的第一行

2.super必须只能出现在子类的方法或者构造方法中

3.super和this不能同时调用构造方法

VS this

代表对象不同:

this:代表本身调用者这个对象

super:代表父类对象的应用

前提:

this:没有继承也可以使用

super:只能在继承条件下使用

构造方法:

this:本类的构造

super:父类的构造

posted @ 2022-03-29 10:36  无关风月7707  阅读(61)  评论(0编辑  收藏  举报