关于变量的隐藏和方法的覆盖以及方法覆盖和方法重载的区别
2014-11-13 00:00
204 查看
摘要: 学习笔记
一.变量的隐藏
类的继承使得子类从父类中既继承了有用的属性成员,也会继承一些不需要或不恰当的属性成员。当父类中的属性不适合子类需要时,子类可以把从父类继承来的属性成员进行重新定义。由于在子类中也定义了与父类中名字相同的成员变量,因此父类中的成员变量在子类中就不可见了,这就是成员变量的隐藏。
二.方法的覆盖
与成员变量的继承一样,父类中的非私有成员方法也可以被子类继承,但如果继承过来的方法不能满足子类功能要求时,子类可以重写该方法。这种从父类继承来的方法重写,称为方法覆盖。方法覆盖要求:子类方法和父类方法要具有完全相同的方法名、返回类型、参数表。
三.方法的重载
方法重载是指同一个类中定义多个同名方法,它们的参数表不同。重载方法调用时根据其参数的类型、个数和顺序来区分。注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法的。
一.变量的隐藏
类的继承使得子类从父类中既继承了有用的属性成员,也会继承一些不需要或不恰当的属性成员。当父类中的属性不适合子类需要时,子类可以把从父类继承来的属性成员进行重新定义。由于在子类中也定义了与父类中名字相同的成员变量,因此父类中的成员变量在子类中就不可见了,这就是成员变量的隐藏。
二.方法的覆盖
与成员变量的继承一样,父类中的非私有成员方法也可以被子类继承,但如果继承过来的方法不能满足子类功能要求时,子类可以重写该方法。这种从父类继承来的方法重写,称为方法覆盖。方法覆盖要求:子类方法和父类方法要具有完全相同的方法名、返回类型、参数表。
三.方法的重载
方法重载是指同一个类中定义多个同名方法,它们的参数表不同。重载方法调用时根据其参数的类型、个数和顺序来区分。注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法的。
相关文章推荐
- java方法的重载、覆盖和隐藏,以及多态的区别
- 黑马程序员1——关于Java的继承过程中成员变量与方法的隐藏与覆盖
- Java_类和对象(完美总结)_转载_覆盖和隐藏的区别,覆盖就不能使用了,而隐藏提供全局方法名或者全局变量名还可以使用
- java方法的重载、覆盖和隐藏,以及多态的区别
- 关于struct2获取jsp表单里的数据,以及隐藏传递给action的变量的方法
- java变量和方法的覆盖和隐藏(翻译自Java Tutorials)
- 关于C#和C++的重载(Overload)、隐藏(Hide)、覆盖(Override)几个区别比较和得出的疑问
- jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
- 第9章_继承和多态_方法覆盖(overrides)与方法重载(overloads)的区别
- Java中关于==和equal的区别以及equals()方法重写
- C和C++关于变量声明的区别以及一个矛盾的现象
- 关于存储过程事务,返回值,变量声明以及执行方法
- 关于C#中,继承类重写与隐藏基类方法的区别!
- Java方法的覆盖与隐藏的区别分析
- java 类方法和实例方法 以及 类变量和实例变量 各种区别
- JAVA中方法和变量在继承中的覆盖和隐藏
- c++中多态函数以及函数重载,覆盖,遮蔽(隐藏)的区别
- JAVA中方法和变量在继承中的覆盖和隐藏
- virtual,overload,,override,new (虚方法,重载,覆盖,隐藏)以及A a=new B()详解
- c++中多态函数以及函数重载,覆盖,遮蔽(隐藏)的区别