21xrx.com
2025-04-06 08:17:45 Sunday
文章检索 我的文章 写文章
学习Java中的super关键字
2023-06-12 15:44:23 深夜i     11     0
Java super 继承

我在学习Java的时候,经常使用到super关键字。super关键字是用来调用父类中的属性或方法的。下面我来分享一下super关键字的使用方法和示例代码。

1. 调用父类的属性

在子类中,我们可以使用super关键字来调用父类中的属性。示例代码如下:

public class Parent
  protected String name = "parent";
public class Child extends Parent {
  private String name = "child";
  
  public void print() {
    System.out.println("Parent name: " + super.name);
    System.out.println("Child name: " + this.name);
  }
}
public class Main {
  public static void main(String[] args) {
    Child child = new Child();
    child.print();
  }
}

输出结果为:

Parent name: parent
Child name: child

可以看到,使用super.name调用了Parent类中的name属性,而this.name调用的是Child类中的name属性。

2. 调用父类的方法

除了调用属性外,我们还可以使用super关键字来调用父类中的方法。示例代码如下:

public class Parent {
  public void print() {
    System.out.println("I am parent.");
  }
}
public class Child extends Parent {
  public void print() {
    super.print(); // 调用父类中的print方法
    System.out.println("I am child.");
  }
}
public class Main {
  public static void main(String[] args) {
    Child child = new Child();
    child.print();
  }
}

输出结果为:

I am parent.
I am child.

可以看到,使用super.print()调用了Parent类中的print方法。

3. 调用父类的构造方法

在子类中,我们也可以使用super关键字来调用父类的构造方法。示例代码如下:

public class Parent {
  public Parent(String info) {
    System.out.println("Parent constructor with " + info);
  }
}
public class Child extends Parent {
  public Child() {
    super("info"); // 调用父类的构造方法
    System.out.println("Child constructor.");
  }
}
public class Main {
  public static void main(String[] args) {
    Child child = new Child();
  }
}

输出结果为:

Parent constructor with info
Child constructor.

可以看到,使用super("info")调用了Parent类中的构造方法。

以上就是我对Java中的super关键字的一些学习和使用方法的分享。希望能对广大Java爱好者有所帮助。

  
  

评论区

请求出错了