一、super()的概念
在Java编程中,super()是一个关键字,用来调用父类的构造方法。在子类中使用super()可以调用父类的构造方法,从而实现子类继承父类的属性和方法。super()必须作为子类构造方法的第一条语句,如果不显式调用super(),则默认调用父类的无参构造方法。
二、super()的用法
1. 调用父类的构造方法
当子类实例化时,会先调用父类的构造方法,可以使用super()在子类构造方法中调用父类的构造方法。例如:
```java
public class Parent {
public Parent(){
System.out.println("Parent类的构造方法");
}
}
public class Child extends Parent {
public Child(){
super(); //调用父类的构造方法
System.out.println("Child类的构造方法");
}
}
```
在上述例子中,当实例化Child类时,会先调用Parent类的构造方法,然后再调用Child类的构造方法。
2. 访问父类的属性和方法
在子类中使用super关键字可以访问父类的属性和方法。例如:
```java
public class Parent {
public String name = "parent";
public void sayHello(){
System.out.println("Hello, I'm "+ name);
}
}
public class Child extends Parent {
public String name = "child";
public void sayHello(){
super.sayHello(); //调用父类的sayHello方法
System.out.println("My name is "+ name);
}
}
```
在上述例子中,子类可以通过super关键字访问父类的属性和方法,实现对父类的继承和扩展。
3. 调用父类的静态方法
在子类中使用super可以调用父类的静态方法。例如:
```java
public class Parent {
public static void staticMethod(){
System.out.println("父类的静态方法");
}
}
public class Child extends Parent {
public static void staticMethod(){
super.staticMethod(); //调用父类的静态方法
System.out.println("子类的静态方法");
}
}
```
在上述例子中,子类可以使用super关键字调用父类的静态方法。
4. 子类构造方法中使用super()的注意事项
在子类构造方法中使用super()时,需要注意以下几点:
- 如果子类构造方法中没有显式调用super(),则默认调用父类的无参构造方法。
- 如果父类没有无参构造方法,但有其他参数的构造方法,子类必须显式调用父类的有参构造方法。例如:
```java
public class Parent {
public Parent(String name){
System.out.println("父类有参构造方法,name="+name);
java编程开发高清pdf }
}
public class Child extends Parent {
public Child(){
super("child"); //显式调用父类的有参构造方法
System.out.println("子类无参构造方法");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论