Java super关键字具有哪些功能呢?

Java-教程王 Java教程 发布时间:2021-04-13 16:43:31 阅读数:9459 1 super

Java super关键字的简介说明

       java之super关键字功能:
            java中的super关键字是一个引用变量,其功能为引用直接父类对象。

             当我们创建一个子类的实例时,父类的实例被隐式创建,此时我们可以使用super关键字引用变量引用。

java super关键字的应用场景如下:

  1. super用于引用直接父类的实例变量
  2. super用于调用直接父类方法
  3. super()用于调用直接父类构造函数

1. super用于引用直接父类实例变量

      我们可使用super关键字来访问父类的数据成员或字段。
       当父类和子类具有相同的字段,则使用super来指定为父类数据成员或字段。

class parentClass{
    String keyId= "0";
}

class subClass extends parentClass{
    String keyId = "88";

    void printInfo() {
        System.out.println(keyId );//  0
        System.out.println(super.keyId );// 88
    }
}

class testClass{
    public static void main(String args[]) {
        subClass d = new subClass();
        d.printInfo();
    }
}
-----运行以上代码,将输出以下信息----
0
88

在上面的代码中parentClasssubClass都有一个共同的属性:keyId
  当我们需输出父类中keyId属性,此时需借助super关键字 

2. 使用 super 来调用父类方法

super关键字也可以用于调用父类方法。 如果子类包含与父类相同的方法,则应使用super关键字指定父类的方法。 换句话说,如果方法被覆盖就可以使用 super 关键字来指定父类方法。

class parentClass{
    void run() {
        System.out.println("parent run...");
    }
}

class subClass extends parentClass{
    void run() {
        System.out.println("sub run...");
    }

    void stop() {
        System.out.println("sub stop...");
    }

    void test() {
        super.run();
        stop();
    }
}

class testClass{
    public static void main(String args[]) {
        subClass = new subClass();
        d.test();
    }
}
-----运行以上代码,将输出以下信息-----
parent run...
sub stop...
 

在以上的代码,使用super关键字调用父类中的方法

3. 借助 super 来调用父类构造函数

 

class parentClass{
    parentClass() {
        System.out.println("parentClass is created");
    }
}

class subClass extends parentClass{
    subClass() {
        super();
        System.out.println("subClass is created");
    }
}

class testClass {
    public static void main(String args[]) {
        subClass d = new subClass ();
    }
}

注意事项:
    当子函数未使用super()或this()关键字时,
     则编译时,会自动在构造函数中加入super()函数
 
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/245.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者