精华内容
下载资源
问答
  • java super关键字的使用

    2020-02-17 18:06:45
    super关键字调用父类变量和方法 运行结果: ...子类构造方法默认使用super关键字调用了父类构造方法,但是只是调用无参构造方法,如果父类只有有参构造方法则不会默认调用。 如上… ...

    super关键字调用父类的变量和方法
    在这里插入图片描述在这里插入图片描述运行结果:
    父类的构造方法被执行了
    子类的构造方法执行了
    父类的普通方法被执行了
    父类的变量被调用了21

    子类的构造方法默认使用了super关键字调用了父类的构造方法,但是只是调用无参的构造方法,如果父类只有有参的构造方法则不会默认调用。
    在这里插入图片描述在这里插入图片描述如上…

    展开全文
  • 主要介绍了Java super关键字的使用方法详解的相关资料,希望通过本文能帮助到大家,让大家对super关键字彻底掌握,需要的朋友可以参考下
  • Java super关键字的使用

    2019-05-30 10:46:27
    super 可以显式调用父类 属性、方法、构造器 调用语法: 调用属性:super.属性名 调用方法:super.方法() 调用构造器:super(参数) super调用构造器: 1) 默认状态: 子类构造器会隐式调用父类无参构造器 2)...

    super 可以显式调用父类的 属性、方法、构造器
    调用语法:
    调用属性:super.属性名
    调用方法:super.方法()
    调用构造器:super(参数)

    super调用构造器:
    1) 默认状态: 子类构造器会隐式调用父类无参构造器
    2)super() 只能出现在构造器首行
    3)super()和this()不能同时出现
    4)super(参数)表示显示调用父类的相应参数构造器

    展开全文
  • 导读正文构造方法中的super关键字Java子类构造方法中可以通过super关键字来调用父类构造方法。其用法为:1) super(); 访问父类中无参构造函数2) super (paras…); 访问父类中成员函数yyysuper()来调用父类...

    导读

    正文

    构造方法中的super关键字

    在Java子类的构造方法中可以通过super关键字来调用父类的构造方法。其用法为:

    1) super(); 访问父类中的无参构造函数

    2) super (paras…); 访问父类中的成员函数yyy

    super()来调用父类无参的构造方法,但即使不使用super(),默认也会调用父类无参的构造方法。父类无参的构造方法可以是自定义的无参构造方法,也可以是编译器自动生成的默认构造方法。但如果父类中定义了有参的构造方法,但没有定义无参的构造方法,这时编译器不会生成默认构造函数,也就不能通过super()来调用构造方法。此外,如果父类中定义了private的无参构造方法,也不同通过super()来调用。

    super(paras…);用来调用父类中某个有参的构造方法。

    super调用父类的构造方法,必须放在子类构造方法的第一行中执行。如果调用的有参的父类构造方法,在super的参数中不能用子类中的非static成员变量(可以使用static成员变量,因为static成员变量在构造方法执行前就已经初始化),也不能使用this或super的相关调用。例如super(super.getClass().getName());

    在构造方法中也可以使用super关键字来访问父类中的成员变量和成员函数。其用法和非构造方法中的super关键字用法相同。

    非构造方法中的super关键字

    在Java子类中可以通过通过super关键字来调用父类中的成员变量和方法。其用法是。

    1) super.xxx; 访问父类中的成员变量xxx

    2) super.yyy(paras…); 访问父类中的成员函数yyy

    super关键字访问父类的成员变量和成员函数时不能越过访问权限的控制,不能访问父类中private的成员变量和方法。例如:

    class a {

    private int mNum = 0;

    }

    class b extends a {

    public void setNum(int i) {

    super.mNum = i; //错误,不能访问父类的private成员

    }

    }

    在有多层的继承关系时,super调用只能自身父类的成员变量和方法,不能越过父类直接调用父类的父类中的成员变量或方法。当然如果父类的父类中的成员变量或方法被父类继承,那么是可以通过super来调用该成员变量和方法的,但这时实际调用的是父类中的成员变量和方法。例如:

    class a {

    protected int mNum = 0;

    public void setNum(int i) {

    mNum = i;

    }

    }

    class b extends a {

    public void setNum(int i) {

    mNum = i * i;

    }

    }

    class c extends b {

    public void setNum(int i) {

    super.setNum(i); //调用的是b中的setNum()方法

    super.super.setNum(i); //错误,不支持的用法

    }

    }

    class a {

    protected int mNum = 0;

    public void setNum(int i) {

    mNum = i;

    }

    }

    class b extends a {

    }

    class c extends b {

    public void setNum(int i) {

    super.setNum(i); //正确,虽然b中没有实现setNum(),但b中继承了a的setNum()函数,

    //c中调用super.setNum()调用的是b的setNum()函数,可以执行。

    }

    }

    如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    相关

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 构造方法中的super关键字Java子类构造方法中可以通过super关键字来调用父类构造方法。其用法为:1) super(); 访问父类中无参构造函数2) super (paras…); 访问父类中成员函数yyysuper()来调用父类无参...

    构造方法中的super关键字

    在Java子类的构造方法中可以通过super关键字来调用父类的构造方法。其用法为:

    1) super(); 访问父类中的无参构造函数

    2) super (paras…); 访问父类中的成员函数yyy

    super()来调用父类无参的构造方法,但即使不使用super(),默认也会调用父类无参的构造方法。父类无参的构造方法可以是自定义的无参构造方法,也可以是编译器自动生成的默认构造方法。但如果父类中定义了有参的构造方法,但没有定义无参的构造方法,这时编译器不会生成默认构造函数,也就不能通过super()来调用构造方法。此外,如果父类中定义了private的无参构造方法,也不同通过super()来调用。

    super(paras…);用来调用父类中某个有参的构造方法。

    super调用父类的构造方法,必须放在子类构造方法的第一行中执行。如果调用的有参的父类构造方法,在super的参数中不能用子类中的非static成员变量(可以使用static成员变量,因为static成员变量在构造方法执行前就已经初始化),也不能使用this或super的相关调用。例如super(super.getClass().getName());

    在构造方法中也可以使用super关键字来访问父类中的成员变量和成员函数。其用法和非构造方法中的super关键字用法相同。

    非构造方法中的super关键字

    在Java子类中可以通过通过super关键字来调用父类中的成员变量和方法。其用法是。

    1) super.xxx; 访问父类中的成员变量xxx

    2) super.yyy(paras…); 访问父类中的成员函数yyy

    super关键字访问父类的成员变量和成员函数时不能越过访问权限的控制,不能访问父类中private的成员变量和方法。例如:

    class a {

    private int mNum = 0;

    }

    class b extends a {

    public void setNum(int i) {

    super.mNum = i; //错误,不能访问父类的private成员

    }

    }

    在有多层的继承关系时,super调用只能自身父类的成员变量和方法,不能越过父类直接调用父类的父类中的成员变量或方法。当然如果父类的父类中的成员变量或方法被父类继承,那么是可以通过super来调用该成员变量和方法的,但这时实际调用的是父类中的成员变量和方法。例如:

    class a {

    protected int mNum = 0;

    public void setNum(int i) {

    mNum = i;

    }

    }

    class b extends a {

    public void setNum(int i) {

    mNum = i * i;

    }

    }

    class c extends b {

    public void setNum(int i) {

    super.setNum(i); //调用的是b中的setNum()方法

    super.super.setNum(i); //错误,不支持的用法

    }

    }

    class a {

    protected int mNum = 0;

    public void setNum(int i) {

    mNum = i;

    }

    }

    class b extends a {

    }

    class c extends b {

    public void setNum(int i) {

    super.setNum(i); //正确,虽然b中没有实现setNum(),但b中继承了a的setNum()函数,

    //c中调用super.setNum()调用的是b的setNum()函数,可以执行。

    }

    }

    如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    展开全文
  • 构造方法中的super关键字Java子类构造方法中可以通过super关键字来调用父类构造方法。其用法为:1) super(); 访问父类中无参构造函数2) super (paras…); 访问父类中成员函数yyysuper()来调用父类无参...
  • 下面分享一下我对super关键字的使用总结。super限定对象调用从父类继承的实例变量和方法。子类继承父类,子类获得父类的成员变量和方法。分以下几种情况使用super关键字。一:限定子类对象使用父类被覆盖的方法。...
  • super 关键字1、super是一个关键字,全部小写。2、super和this对比着学习。this:this能出现在实例方法和构造方法中。this语法是:“this.”、“this()”this不能使用在静态方法中。this. 大部分情况下是可以省略...
  • 我们已经知道,如果子类中定义成员变量和父类中成员变量同名时,则父类中成员变量不能被继承,...如果我们在子类中想使用被子类隐藏父类成员变量或方法就可以使用关键字super。因此,super是用在子类中,...
  • javasuper关键字的使用super关键字的一般用法super关键字修饰方法super调用构造器 文章内容选自尚硅谷 super关键字的一般用法 super关键字可用于可用于解决子父类出现同名属性的情况,用super关键字来声明某个属性...
  • 在对一些父类的调用上,我们需要借助java中的关键字使用,这就是super关键字,可以归纳为三种方法:作用于类、方法名和构造函数。可以把它看做是使用父类的一个工具,相信大家在之前类的使用中有所接触。下面我们就...
  • 通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量。...super这两个关键字的意义和用法。在Java中,this通常指当前对象,super则指父类的。当你想要...
  • Java super关键字

    2019-03-29 17:35:45
    目录0 小结在先1 super用于引用直接父类实例变量2. 通过super 来调用父类方法3. 使用 super 来调用父类构造函数 ...java super关键字的用法如下: super可以用来引用直接父类的实例变量。 super可以用来调...
  • java super关键字

    千次阅读 2019-02-20 17:32:16
    java中有很多关键字,我们需要掌握和理解这些...如果你子类重写了父类中方法,你可以通过使用super关键字来回调父类中被重写方法。你也可以使用super关键字来查询一个隐藏域。考虑下面这两个类,父类Supe...
  • 其次,在使用方法内属性时候,也包含了一个this关键字,可以使用也可以不使用。this可以看作一个变量,它值是当前对象引用。this关键字只能在方法内部使用,表示对“调用方法那个对象”...
  • java中,子类继承父类,一般会用到super关键字,下面我们介绍super的使用。本文的内容也是配套B站上一位老师的教学视频进行的笔记记录。内容如下: 目录 一、子类构造方法中super的使用 1.调用子类的构造方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,714
精华内容 1,085
关键字:

javasuper关键字的使用

java 订阅