前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速掌握super关键字

快速掌握super关键字

作者头像
田维常
发布2019-09-02 15:47:41
3660
发布2019-09-02 15:47:41
举报

定义

super是Java语言中的一个关键字

super关键字使用于子类访问父类的隐藏成员,它主要用于有继承关系的子类中,用它可以访问父类中被屏蔽的方法、构造方法、属性

super使用场景

使用super关键字可以在子类中引用父类被屏蔽的方法、构造方法、成员变量,这里的父类指的是与子类最接近的那个父类,如果这个类没有显示指定父类,则该的最接近的父类就是Object类。

使用方式

代码语言:javascript
复制
super();//调用父类中的无参构造方法
super(参数1,参数2,...);//调用父类中有参构造方法
super.方法名(参数);//调用父类方法
super.父类中的成员变量;//使用父类中的成员变量

下面对每一种使用方式进行实战:

super()

代码语言:javascript
复制
public class Base {
    public Base(){
        System.out.println("Base 无参构造方法");
    }
}
public class Sub extends Base {
    public Sub() {
        super();
    }
    public static void main(String[] args) {
        new Sub();
    }
}

输出:

代码语言:javascript
复制
Base 无参构造方法

super(参数1,参数2,..)

代码语言:javascript
复制
public class Base {
    public Base(String name){
        System.out.println("Base name="+name);
    }
}
public class Sub extends Base {
    public Sub() {
        super("name");
    }
    public static void main(String[] args) {
        new Sub();
    }
}

输出:

代码语言:javascript
复制
Base name=name

super.父类方法名(参数)

代码语言:javascript
复制
public class Base {
    public void baseTest(String name){
        System.out.println(name);
    }
}
public class Sub extends Base {
    public static void main(String[] args) {
       Sub sub=new Sub();
       sub.subTest();
    }
    private void   subTest(){
        //调用子类调用父类中的方法
        super.baseTest("Java后端技术栈");
    }
}

输出:

代码语言:javascript
复制
Java后端技术栈

super.父类成员变量

代码语言:javascript
复制
public class Base {
    public String name="Java 后端技术栈";
}
public class Sub extends Base {
    public static void main(String[] args) {
       Sub sub=new Sub();
       sub.subTest();
    }
    private void   subTest(){
        //使用父类中的name
        System.out.println(super.name);
    }
}

输出:

代码语言:javascript
复制
Java后端技术栈
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • super使用场景
    • 使用方式
      • super()
        • super(参数1,参数2,..)
          • super.父类方法名(参数)
            • super.父类成员变量
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档