在Java继承中,非构造函数的方法的分析

来源:互联网 发布:linux安全加固方案 编辑:程序博客网 时间:2024/05/16 06:09
在Java继承中,父类的方法会对子类产生影响,而这种影响又分为构造函数和非构造函数,在上一篇博客中,我们一起讨论了构造函数的相关影响,在这篇博客中,我们将要讨论非构造函数的影响。

PS:上一篇博客的地址: 在Java继承中,构造函数的分析

一、理论分析

(1) 子类拥有父类非private的属性和方法,可以在子类中直接调用使用,就像是自己的属性和方法一样。(2) 子类可以添加属于自己的属性和方法,即子类可以扩展父类没有的属性和方法(3) 子类还可以改变父类方法的具体实现方式,即方法重写。

二、误区分析

    其实,这里面比较容易产生误区的是,在子类中如何对从父类中继承来的方法进行重写,也就是如何覆盖掉从父类继承来的方法。首先,方法的名字必须一样,方法的参数必须一样,方法的返回类型必须一样,但是,方法的修饰符可以进行改变,但是子类的修饰符范围不能小于父类的修饰符范围。也就是说,如果父类的方法修饰符为protected,那么子类的方法只能为protected或者public,而不能为private。如果父类的方法修饰符为public,那么子类的方法只能为public.如果父类方法没有指定修饰符(默认为fault),则子类修饰符也可以不指定(即为fault修饰符),或者为protected,public修饰符。依次类推等。    这里我们要提一下关于函数重载的问题,我们知道如果要实现函数重载,那么两个函数方法的参数一定不同,要么是个数不同,要么是参数类型不同,要么是两者都不同。但是他们的修饰符,返回值等都无所谓,对最终结果没有影响,可以相同,也可以不同,最主要的是看参数。

三、实践

    俗话说,实践出真理嘛。我们这次要做的实践就是:创建一个类ClassA,让ClassB继承ClassA,ClassA中有一个方法,例如printString,然后分别尝试在ClassB中重写此方法,添加此方法的重载函数等。再在Test类中调用这些方法,看看你有没有真正搞懂继承中的非构造函数的使用。
0 0
原创粉丝点击