21xrx.com
2024-12-23 00:23:02 Monday
登录
文章检索 我的文章 写文章
我在日常编写Java程序的过程中
2023-06-11 06:03:38 深夜i     --     --
super 父类 成员变量 成员方法 构造方法

我在日常编写Java程序的过程中,经常会用到关键字super。那么,super到底有什么作用呢?

首先,super可以用来访问父类的成员变量和成员方法。我们可以通过这种方式,去调用父类中被子类所覆盖的方法或属性。例如:


public class Father {

  public String name = "Hello World";

  public void sayHello() {

    System.out.println("Hello from Father");

  }

}

public class Son extends Father {

  public String name = "Hi, I am Son";

  public void sayHello() {

    System.out.println("Hello from Son");

  }

  public void testSuper() {

    System.out.println(super.name); //调用父类的变量name

    super.sayHello(); //调用父类的方法sayHello

  }

}

在这个例子中,我们定义了一个Father类和一个Son类,Son类继承了Father类。在Son类中,我们定义了一个和父类一样的变量name,并且覆盖了父类的sayHello方法。然后,我们在Son类中定义了一个testSuper方法,通过super来调用父类中的变量和方法。

除此之外,super还可以用来调用父类的构造方法。如果我们在子类中没有定义构造方法,那么编译器会自动创建一个无参构造方法。但是,如果子类中定义了构造方法,那么在子类的构造方法中,我们可以通过super来调用父类的构造方法。例如:


public class Father {

  public Father() {

    System.out.println("I am Father");

  }

}

public class Son extends Father {

  public Son() {

    super(); //调用父类的构造方法

    System.out.println("I am Son");

  }

}

在这个例子中,我们定义了一个Father类和一个Son类,Son类继承了Father类。在Son类中,我们定义了一个无参构造方法,并在其中通过super调用了父类的无参构造方法。

综上所述,super可以用来访问父类的成员变量和成员方法,以及调用父类的构造方法。掌握了这些用法,我们就可以更加灵活地在Java程序中使用super关键字了。

标题:深入理解Java中super的作用

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复