您的位置:首页 > 编程语言 > Java开发

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

2015-04-02 15:06 253 查看
在Java继承中,父类的方法会对子类产生影响,而这种影响又分为构造函数和非构造函数,在上一篇博客中,
我们一起讨论了构造函数的相关影响,在这篇博客中,我们将要讨论非构造函数的影响。


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

一、理论分析

(1) 子类拥有父类非private的属性和方法,可以在子类中直接调用使用,就像是自己的属性和方法一样。

(2) 子类可以添加属于自己的属性和方法,即子类可以扩展父类没有的属性和方法

(3) 子类还可以改变父类方法的具体实现方式,即方法重写。


二、误区分析

其实,这里面比较容易产生误区的是,在子类中如何对从父类中继承来的方法进行重写,也就是如何覆盖掉从父类继承
来的方法。首先,方法的名字必须一样,方法的参数必须一样,方法的返回类型必须一样,但是,方法的修饰符可以进行
改变,但是子类的修饰符范围不能小于父类的修饰符范围。也就是说,如果父类的方法修饰符为protected,那么子类的方法
只能为protected或者public,而不能为private。如果父类的方法修饰符为public,那么子类的方法只能为public.如果父类
方法没有指定修饰符(默认为fault),则子类修饰符也可以不指定(即为fault修饰符),或者为protected,public修饰符。
依次类推等。

    这里我们要提一下关于函数重载的问题,我们知道如果要实现函数重载,那么两个函数方法的参数一定不同,要么是个数不同,要么是
参数类型不同,要么是两者都不同。但是他们的修饰符,返回值等都无所谓,对最终结果没有影响,可以相同,也可以不同,最主要的是
看参数。


三、实践

俗话说,实践出真理嘛。我们这次要做的实践就是:创建一个类ClassA,让ClassB继承ClassA,ClassA中有一个方法,例如
printString,然后分别尝试在ClassB中重写此方法,添加此方法的重载函数等。再在Test类中调用这些方法,看看你有没有真正
搞懂继承中的非构造函数的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: