函数的复写

复写(override),也叫重写、覆盖。当子类继承了父类的成员函数并需要对其函数功能进行修改时,此过程就叫复写。例子如下:

class Person{
      String name;

      void introduce(){
           System.out.println("我叫" + name);
      }
}
class Student extends Person{
      int age;

      //复写
      void introduce(){
           super.introduce(); //调用父类的成员函数
           System.out.println("我" + age);
      }
}
class Test{
      public static void main(String args[]){
           Student s = new Student();
           s.name = "zhangsan";
           s.age = 18;
           s.introduce();
      }
}

在子类中定义的函数(返回值类型、函数和参数列表)与父类中的函数完全相同,这两个函数的关系就是复写。复写父类的函数时,如果只是在父类的基础上增加代码,可用super .函数名减少重复代码,并可以放在函数体内的任意行位置。

要明确复写和重载的区别。

时间: 2024-12-15 01:35:07

函数的复写的相关文章

java基础部分----3.继承、子类实例化、函数的复写

1.继承 java只支持单继承,一个子类只能继承一个父类.一个父类可以有多个子类 关键字:extends 减少重复代码 2.继承的语法特点 class Student extends Preson{ } 如果子类继承父类,同时子类在这个基础上添加自己的成员变量和成员函数 3.子类实例化 1.生成子类的过程 在子类的构造函数中,必须调用父类的构造函数(根据()传入的参数个数以及类型决定) lass Student extends Person{ int grade; Student(){ supe

20 函数的复写

学习要点 函数的复写(override) 使用super调用父类的成员函数 this():调用本类中的构造函数 this. :调用本类中的成员函数 super():调用父类中的构造函数 super():调用父类中的成员函数 class Person{ String name ; int age ; void introduce(){ System.out.println("我的姓名是"+name+",我的年龄是"+ age); } } //复写(override)

12.函数的复写

函数的复写(override) 在具有父子关系的两个类当中,父类和子类各有一个函数,这两个函数的定义(返回值类型.函数名和参数列表)完全相同 生成子类对象,执行的是子类当中的方法 生成父类对象,执行的是父类当中的方法 使用super调用父类的成员函数 在子类当中super.父类函数(),可以调用父类当中的父类函数 classPerson{ String name; int age; void introduce(){ System.out.println("我的名字是:"+ name

【好程序员训练营】----子类实例化函数复写对象转型

android培训------我的java笔记,期待与您交流! 一.子类实例化过程 public class Student extends Person{ /* * 继承父类成员和函数,不能继承构造函数 * 在子类构造函数中,须调用父类的构造函数 */ Student(){ super();//用于调用父类构造函数:若写则在第一条语句,若不写,编译器自动添加:可以调用父类有参构造函数super(..,..); System.out.println("student无参数构造函数");

JavaScript设计模式-1.函数

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>javascript高级语法1-函数</title> 6 </head> 7 <body> 8 <script> 9 function print(p){ 10 console.log(p.toString(),p) 11 } 12 /* 1

Java4Android基础学习之复写(override)

1.复写(override) 1)存在与父类和子类之中: 2)父类和子类中各有一个函数,这两个函数名字,返回值类型,参数列表,完全一样,这就称之为这两个函数之间的关系为复写(override);如: //父类 class father{ void function(){ System.out.println("父类的函数"); } } //子类 class son extends father{ void function(){ System.out.println("子类的

javascript中函数的不同解析

<html> <head> <title>javascript的函数的生命周期</title> <meta charset="utf-8"/> <script type="text/javascript"> /* javascript是所有语言中对函数生命周期处理最为复杂的语言之一 而javascript的函数的生命周期取决于js解释器是如何解释我们编写 的js代码,我们以例子来说明javasc

重构笔记——提炼函数

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42214393         在前面的三篇文章中介绍了重构入门篇.代码的坏味道(上).代码的坏味道(下).本文将正式开启重构之旅.从本文开始在后续的文章中会陆续介绍92种重构手法,每一种重构手法都会对应于一种代码坏味道.在介绍的过程中,每一种重构手法也将对应一篇文章,可能有的重构手法比较简短,但是为了便于整理还是单独将其列为一篇.(PS:不管怎样,我都会坚

Java学习日记num6

学习内容:继承的概述:继承出现后子父类中成员的特点:final关键字:抽象类:接口:模板方法设计模式 一.继承的概述 1,继承的好处 1),提高了代码的复用性 2),继承的出现,让类与类之间产生了关系.有了这个关系,才有了面向对象的多态的这个特性. 特别要说明一点:千万不要为了获得其他类的功能简化代码而继承,必须是类与类之间有所属关系才可以继承.即不要有奶就是娘. 2,java中继承的特点 java语言中,java只支持单继承,支持多层继承,但不支持多继承.因为多继承容易带来安全隐患,当功能名称