Java重写的概念

174 阅读3分钟

方法的重写(override)

重写的概念

在子类中定义和父类中相同的函数,直接调用函数时,实际使用的是子类中的函数,这种情况叫做方法的重写(覆写);

一般开发中,如果父类的功能不满足子类需要,子类都会重写父类的函数;

重写的应用

案例:描述手机这类事物。原始的手机和现代的手机

以前的手机只能打电话,发短信

现在的手机继承父类的功能没有问题,只不过现在的手机功能更加的高级

打电话不仅仅可以打语音电话,还可以视频通话

发短信不仅仅可以发文字信息,还可以发送图片,表情,视频.....

所以如果直接使用父类的方法已经不能满足需求了,此时子类就需要重写父类中的方法

现在的手机继承父类的功能没有问题,只不过现在的手机功能更加的高级

打电话不仅仅可以打语音电话,还可以视频通话

发短信不仅仅可以发文字信息,还可以发送图片,表情,视频.....

所以如果直接使用父类的方法已经不能满足需求了,此时子类就需要重写父类中的方法

继承的作用:子类可以直接拥有父类成员;其中,私有成员和构造函数不参与继承;

java 中类继承的特点:只支持单一继承和多重继承,不支持多继承(一个类不能同时继承多个类)

继承中成员变量的特点:

子类中可以直接使用父类中定义的非私有的成员变量;

如果子类中定义了和父类中相同的成员变量,直接调用,实际使用的是子类中定义的成员变量;要使用父类中定义的成员变量,需要使用关键字super,格式是:super.变量名;

继承中一般函数的特点:

子类中可以直接使用父类中定义的非私有的一般函数;

如果子类中定义了和父类中一样的函数,直接调用,实际使用的是子类定义的函数;要使用父类中定义的一般函数,需要使用关键字super,格式是:super.函数名(参数);

方法重写的概念:在继承中,如果子类中定义了和父类中一样的函数,则子类对象实际使用的是子类中定义的函数,这种情况叫做函数的重写;

子类重写父类函数需要注意的事项:

1、子类中重写的函数,函数名、参数列表、返回值类型和是否静态,必须和父类中函数相等;

2、子类中重写的函数,访问权限不能比父类中函数低;

继承中子类实例化的特点

1、子类实例化时,实际只创建子类一个对象;

2、子类对象中会为父类中的非静态成员变量分配空间;

3、在执行子类的构造函数时,必须要先调用父类的构造函数,作用是给父类的成员变量显示赋值;

4、子类调用父类的构造函数,需要使用super关键字,格式是:super(参数);并且super语句必须在子类构造函数的第一行;

5、子类构造函数中调用其他构造函数的this语句不能和调用父类构造函数的super语句共存;

super 小结:super,表示父类;作用是区分子类和父类的成员,以及在子类的构造函数中调用父类构造函数;****