当子类需要引用父类的构造方法、成员变量或成员方法时,需要使用Java中的super关键字。super也可以理解为是当前对象的父类对象。
当子类需要引用父类的构造方法、成员变量或成员方法时,需要使用Java中的super关键字。super也可以理解为是当前对象的父类对象。
super的使用有以下几种形式:
- 使用super引用父类的成员变量和成员方法
在子类中可以使用super关键字来引用父类的成员变量和成员方法。例如:
public class Parent {
private int age;
public Parent(int age) {
this.age = age;
}
public void sayHello() {
System.out.println("Hello From Parent");
}
}
public class Child extends Parent {
public Child(int age) {
super(age); // 使用super引用父类的构造方法,设置age值
}
public void sayHello() {
super.sayHello(); // 使用super引用父类的成员方法
System.out.println("Hello From Child");
}
public void printAge() {
System.out.println("Age of parent is: " + super.age); // 使用super引用父类的成员变量
}
}
在子类中,使用super关键字可以引用父类的构造方法,并且在必要时为父类的构造方法传递参数值,还可以使用super关键字引用父类的成员变量和成员方法。需要注意的是,在子类中使用super引用父类的成员变量时,需要保证该成员变量在父类中声明为protected或public,否则子类是无法引用的。
- 使用super引用父类的构造方法
当子类需要调用父类的构造方法时,可以使用super关键字来引用父类的构造方法。在父类中,如果有多个构造方法,子类可以选择调用哪一个构造方法。例如:
public class Parent {
private int age;
public Parent() {
this.age = 28; // 默认初始age值为28
}
public Parent(int age) {
this.age = age; // 通过调用该构造方法来设置age值
}
}
public class Child extends Parent {
private String name;
public Child(String name) {
super(); // 调用父类的无参构造方法
this.name = name;
}
public Child(String name, int age) {
super(age); // 调用父类的有参构造方法,同时设置父类的age值
this.name = name;
}
}
在子类中,使用super关键字可以调用父类的构造方法。需要注意的是,在调用父类的构造方法时,应该在子类的构造方法的第一行调用,否则会出现编译时错误。
上述就是Java中super关键字的介绍以及super()的使用的完整攻略。
本文标题为:Java中super关键字介绍以及super()的使用


基础教程推荐
- springboot中request和response的加解密实现代码 2022-12-08
- 用javascript制作qq注册动态页面 2023-12-16
- SpringBoot嵌入式Web容器原理与使用介绍 2023-06-17
- 关于@MapperScan包扫描的坑及解决 2023-04-16
- java 解决Eclipse挂掉问题的方法 2024-01-10
- Spring MVC数据绑定方式 2023-06-30
- SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog的详细过程 2023-06-17
- jsp hibernate的分页代码第3/3页 2024-01-11
- 详解http请求中的Content-Type 2023-07-31
- JSP servlet实现文件上传下载和删除 2023-07-30