在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类中调用这些方法,看看你有没有真正 搞懂继承中的非构造函数的使用。
相关文章推荐
- 黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)
- 在Java继承中,构造函数的分析。
- java 继承中静态语句块 非静态语句块 构造函数 的分析
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- Java子类和父类的构造函数继承的问题分析
- JAVA基础:子类、父类继承关系 静态块、非静态块、构造函数初始化顺序性、静态非静态方法覆盖
- java 继承类的构造方法
- JAVA 继承 构造函数的执行顺序
- 【转】Java继承时构造函数的调用
- Java继承中的方法覆盖
- Java -- 一条关于继承构造函数的题目
- java 继承类 变量、静态变量、构造函数执行顺序
- Java 中子类是否只继承父类的非私有变量和方法?
- Java中关于构造函数继承的相关问题
- JAVA 方法重载,方法重写,继承
- Java继承时构造函数的调用
- 温习Java笔记(5):构造函数、继承和多态
- 使用java反射操作类的构造函数,成员变量和成员方法
- Ajax - JavaScript之实现私有属性、像C++和Java一样支持基于类的继承方法之例子