前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Super访问父类成员

Super访问父类成员

作者头像
算法与编程之美
发布2023-12-21 13:53:25
760
发布2023-12-21 13:53:25
举报

1 问题

当子类的成员变量或方法与父类同名时,可能模糊不清,应该怎么解决?如果子类重写了父类的某一个方法,我们又该怎么调用父类的方法?

2 方法

super调用成员属性:

当父类和子类具有相同的数据成员时,可能会模糊不清。我们可以使用以下代码片段更清楚地理解它。

创建一个父类Person,并有属性年龄:

创建一个子类Student,具有和父类相同的属性:

测试类:

super调用成员方法:

当父类和子类都具有相同的方法名时,可以使用 super 关键字访问父类的方法。

创建一个父类Person:

创建一个子类Student,具有和父类相同的方法:

测试类:

代码语言:text
复制
super调用成员属性:

Person类:
package boke.boke2;
public class Person {
   int age = 12;
}
Student类:
package boke.boke2;
import boke.boke2.Person;
public class Student extends Person {
   int age = 18;
   void display() {
       System.out.println("学生年龄:" + super.age);
   }
}
测试类:
package boke.boke2;
public class test {
   public static void main(String[] args) {
       Student stu = new Student();
       stu.display();
   }
}
代码语言:text
复制
super调用成员方法:

Person类:
package boke.boke21;
public class Person {
   void message() {
       System.out.println("This is person class");
   }
}
Student类:
package boke.boke21;
public class Student extends Person{
   void message() {
       System.out.println("This is student class");
   }
   void display() {
       message();
       super.message();
   }
}
测试类:
package boke.boke21;
public class test {
   public static void main(String args[]) {
       Student s = new Student();
       s.display();
   }
}

3 结语

针对super访问父类成员问题,通过实验,当子类的成员变量或方法与父类同名时,可以使用 super 关键字来访问。如果子类重写了父类的某一个方法,即子类和父类有相同的方法定义,但是有不同的方法体,此时,我们可以通过 super 来调用父类里面的这个方法。在以前的学习中,不清楚super的用法,本次实验让我们深刻理解到super在访问父类成员属性以及方法时的作用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • super调用成员属性:
  • super调用成员方法:
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档