分享

java super详解

 wenxuefeng360 2022-11-12

super

super是一个关键字,super和this很类似,其语法是“super.”和“super()”,不能在静态方法中使用。在子类对象中,子类想访问父类的东西,可以使用“super.”的方式访问。

代码举例
在Person(父类)中创建一个属性name;

public class Person {
    protected  String name="小王同学";

}

在Student(子类)中创建一个属性和一个方法print方法

public class Student extends Person {
    protected String name="小徐同学";

    public  void  print(String name){
        System.out.println(name);//输出的是方法里面的参数
        System.out.println(this.name);//输出的是属性里面的name
        System.out.println(super.name);//输出的是父类Person类里面的属性name
    }
}

在Test(主类)中调用Student中的方法,并赋值

public class Test {
    public static void main(String[] args) {
        Student xingming = new Student();
        xingming.print("小明同学");
    }
}

得到结果如下:
在这里插入图片描述
在这里插入图片描述
如果需要使用super(); 则super();必须放在第一行

super注意点

  1. super 调用父类的构造方法,必须在构造方法的第一个。
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法。

与this对比:
this :本身调用者这个对象
super: 代表父类对象的应用

前提:
this:没有继承也可以使用
super: 只能在继承条件才可以使用

构造方法:
this (): 本类的构造
super(): 父类的构造

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多