admin 管理员组

文章数量: 887021


2024年1月17日发(作者:滑块滑轨 英文)

java的继承 super用法

在Java中,super关键字用于引用超类(父类)的相关方法、属性和构造函数。它主要有以下几种用法:

1.用于调用父类的构造函数:

当子类实例化对象时,可以使用super关键字调用父类的构造函数来初始化父类的属性。这对于需要在子类构造函数中执行一些额外的操作或者初始化父类属性非常有用。

```java

public class Parent

private int age;

public Parent(int age)

= age;

}

public class Child e某tends Parent

private String name;

public Child(int age, String name)

super(age); // 调用父类的构造函数

= name;

}

```

2.用于调用父类的方法:

子类可以使用super关键字来调用父类的方法,尤其在子类中重写了父类的方法时,通过super关键字可以调用父类的方法实现,而不是完全覆盖父类的方法。

```java

public class Parent

public void prin

n("Parent class");

}

public class Child e某tends Parent

public void prin

(; // 调用父类的方法

n("Child class");

}

```

3.用于访问父类的属性:

当子类和父类都定义了同名的属性时,可以使用super关键字来访问父类的属性,以区分访问的是子类的属性还是父类的属性。

```java

public class Parent

protected int num = 10;

public class Child e某tends Parent

private int num = 20;

public void prin

n("Child num: " + num); // 访问子类的属性

n("Parent num: " + ); // 访问父类的属性

}

```

通过使用super关键字,可以更灵活地使用继承机制,实现代码的重用和扩展性,并且提高了代码的可读性。不过,在使用super关键字时要注意以下几点:

- super关键字只能在子类中使用,不能在静态方法中使用。

- super关键字只能用于访问父类的成员,不能用于访问子类的成员。

- 在构造函数中使用super关键字调用父类的构造函数时,必须放在子类构造函数的第一行。

- 在父类中,如果没有显式地写出调用super(语句,则默认调用无参的构造函数。

总之,super关键字在Java的继承中扮演了重要的角色,通过使用它,我们可以方便地访问父类的方法和属性,并且实现构造函数的初始化和重写父类方法等功能,从而更好地利用继承机制来扩展和复用代码。


本文标签: 父类 属性 子类 调用