0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

子类中继承父类的方法

jf_78858299 来源:算法与编程之美 作者: 算法与编程之美 2023-04-06 14:53 次阅读

1 问题

子类中如何继承父类的方法,或者如何重写方法。

2 方法

wKgaomQubAaAByJlAABoJbexQfE473.jpg

首先得在父类中创建一个方法,利用创建的方法的格式void+方法名(){},然后在子类中调用这个方法:直接输入方法名,再按enter,便会出现super.方法名(),表示调用该方法。当不想调用父类的方法时可直接删除super的调用,然后在方法中重新写。

例题:4、 请设计2个类,分别是学生类Student,本科生类Undergraduate,,其中Student类是一个抽象类,它包含一些基本的学生信息,如姓名、类别(本科生还是研究生)、所学课程(这里假定为3门课,用一维数组表示)成绩和成绩等级等,而Undergraduate类是Student类的子类.

package lab02;
public class Student {
//属性
String name;
String type;//类别
int[] courseScores;//三门课的成绩数组
String grade;//平均成绩等级
Student(){}
Student(String name,String type,int[] courseScores){
this.name=name;
this.type=type;
this.courseScores=courseScores;
}
void computeGrade(){
System.out.println("Student:compute");
}
package lab02;
public class Undergraduate extends Student{
Undergraduate(){}
Undergraduate(String name,String type,int[] courseScores){
super(name,type,courseScores);
}
@Override//该方法来自于父类,然后不适合子类(是直接写函数名再enter回车直接得来的)
void computeGrade() {
// super.computeGrade();//super表示执行父类方法
System.out.println("Undergraduate:compute");
Int avg=(this.courseScores[0]+this.courseScores[1]+this.courseScores[2])/3;
if(avg>80){
this.grade="优秀";
}else if(avg>60){
this.grade="良好";
}else if(avg<60){
this.grade="差";
}
}
}
package lab02;
public class Test04 {
public static void main(String[] args) {
Undergraduate zhang=new Undergraduate("张三","本科生",new int[]{90,95,100});
zhang.computeGrade();
System.out.println("等级:"+zhang.grade);

3 结语

针对继承父类的方法和重写方法的问题,我们的重点是理解如何调用函数的,如何在子类中使用该方法,要使用的父类的方法名加enter即可,当不想执行父类方法去掉super,自己重写方法即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1938

    浏览量

    34591
  • Super
    +关注

    关注

    0

    文章

    14

    浏览量

    8398
  • void
    +关注

    关注

    0

    文章

    23

    浏览量

    9856
收藏 人收藏

    评论

    相关推荐

    关于Java继承的问题

    在Java中,继承是面向对象编程中的一个重要概念,它允许一个(称为子类或派生继承另一个
    的头像 发表于 09-30 10:48 528次阅读

    建立即其子类的同名方法——关于重写VI的问题

    随着项目的进行,发现的重要性,最近学习时遇到了一些问题:按照《宝典》的介绍(P353),创建了一个运算作为,又创建了一个加法作为
    发表于 09-23 17:07

    Python多重继承使用方法

    继承是面向对象编程的一个重要方式,通过继承子类可以扩展的功能,Python也具有该特性,除此之外,Python还可以使用多重
    发表于 04-19 14:41

    如何使用Python的? 优势有哪些?

    Student 继承 Parent.方法是在名称后面的小括号中加上
    发表于 07-30 18:08

    python继承

    python继承继承,跟人类繁衍的关系相似。被继承称为基
    发表于 03-08 16:40

    探讨一下JAVA子类调用构造器函数

    ); }}public class ConstructorExtend {//测试子类继承的构造函数 public static void main
    发表于 10-19 14:51

    什么是继承?

    什么是继承?继承子类利用中定义的方法和变量就像它们属于
    发表于 04-28 14:26 717次阅读

    Java继承怎么写

    。这种方式可以重复利用现有的代码而不更改它的形式。 1.继承的语法 关键字extends表明新派生于一个已经存在的。已存在的称为
    发表于 09-27 13:00 0次下载
    Java<b class='flag-5'>继承</b>怎么写

    C++中继承访问级别学习总结(二)

    上一篇文章我们介绍了c++中继承学习总结;今天我们继续来分享c++中继承中的访问级别的学习总结。一、继承中的访问级别学习:1、
    的头像 发表于 12-24 16:10 715次阅读

    C语言如何实现继承及容器

    继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有的属性和
    发表于 02-07 11:26 10次下载
    C语言如何实现<b class='flag-5'>继承</b>及容器

    python继承详解

    方法的同时,又可以根据需要进行修改、拓展。 继承的语法结构是 class 子类(): 1. 单继承
    的头像 发表于 03-08 16:40 3075次阅读

    简述继承

    继承:一个继承另一个,自动拥有这个的属性和方法
    的头像 发表于 02-17 15:00 974次阅读
    简述<b class='flag-5'>类</b>的<b class='flag-5'>继承</b>

    python子类定制及多态调用介绍

    python通过子类继承来定制子类的行为。 ## 1.1 重写方法 (1)如
    的头像 发表于 02-23 14:51 603次阅读

    super调用的构造方法

    有如下几种用法: 1、调用的构造方法 Java中的继承大家都应该了解,子类继承
    的头像 发表于 10-10 16:42 868次阅读
    super调用<b class='flag-5'>父</b><b class='flag-5'>类</b>的构造<b class='flag-5'>方法</b>

    java子类可以继承的什么

    Java是一种面向对象的编程语言,它支持继承的概念。继承是面向对象编程的三大特性之一,它允许一个(称为子类或派生
    的头像 发表于 08-20 11:02 904次阅读