类的继承和重写方法

简介: 类的继承和重写方法

1 问题

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


2 方法

首先得在父类中创建一个方法,利用创建的方法的格式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,自己重写方法即可。

目录
相关文章
|
8月前
|
C#
C# 继承类中(父类与子类)构造函数的调用顺序
C# 继承类中(父类与子类)构造函数的调用顺序
|
9月前
|
Java
方法的重写
方法的重写
32 0
|
11月前
继承类的方法
继承类的方法
85 0
|
开发者 Python
子类重写父类方法|学习笔记
快速学习子类重写父类方法,先来介绍子类重写父类方法。多态其实就是一种子类重写父类的方法。
146 0
|
Java C++
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(一)
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(一)
2142 0
|
Java C++
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(二)
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(二)
178 0
ES6—45:子类对父类方法的重写
ES6—45:子类对父类方法的重写
144 0
ES6—45:子类对父类方法的重写
|
Python
8.4 类的重写
子类除了继承父类的所有属性和方法,还可以自定义自己的属性和方法,增加了代码的复用性 class parent(object):     name='parent'     sex='F'     def __init__(self):         print('my name is {0}'.
627 0