Java中类成员函数重载、覆盖和隐藏的区别

原创 2016年08月30日 16:51:17

其他扩展链接:

Java中重载和重写的区别

java中重载与重写的区别


重载:

成员函数被重载的特征:

1相同的范围:在同一个类中

2函数名相同,参数不同

3virtual可有可无

覆盖:

派生函数覆盖基类函数

1位于不同的范围内(子类和父类之间)

2函数签名相同(函数名和参数均相同)

3基类函数必须有virtual关键字

隐藏:

派生类的函数屏蔽了与其同名的函数:

1)派生类的函数名和基类的函数名相同,但是参数不同。不论有无virtual关键字,基类函数均被隐藏(注意与重载区别开)

2)派生类的函数名和基类的函数名相同,参数也相同,但是基类没有virtual关键字,则基类的函数将被隐藏(注意与覆盖区分开)

版权声明:本文为博主原创文章,未经博主允许不得转载。

java中重载,覆盖和隐藏的区别

重载:     只有在 同一类定义中的同名成员函数才存在重载关系 ,主要特点是 函数的参数类型和数目有所不同 ,但 不能出现函数参数的个数和类型均相同 ,仅仅依靠返回值类型不同来区分的函数,这和...
  • fandoudou123
  • fandoudou123
  • 2015年11月12日 20:51
  • 430

Java类中方法重载

Java类中方法重载 在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。 参数列表又叫参数签名,包括参...
  • SuJiuQi97
  • SuJiuQi97
  • 2015年04月29日 15:18
  • 582

java中重写、覆盖,重载三者的区别?

 java中重写、覆盖,重载三者的区别?  首先要明确Java中重写,覆盖,重载都是针对方法的几个不同概念。其中重写与覆盖等同,只是两种不同的称法而已。  现在主要来理解下重写与重载的区...
  • cey009008
  • cey009008
  • 2015年06月02日 16:21
  • 6231

Java重载成员变量

如果子类中变量的名字和父类的变量的名字一样,不管他们的类型是否一致,那么在子类中,父类的同名变量无法直接通过变量名访问。 (个人认为这是一个很差的设计,对于代码的可读性可维护性非常不友好,编译器应该...
  • HiHui
  • HiHui
  • 2017年02月19日 16:29
  • 565

java继承中,成员变量的覆盖

其实Java继承中,成员变量(包括静态变量,实例变量,常量)没有覆盖(override)一说,应该叫隐藏(hidden)。override只针对方法来说的。 当成员变量为private时,其他类不能直...
  • xiemk2005
  • xiemk2005
  • 2010年08月12日 00:00
  • 6699

C++中成员函数的重载、覆盖和隐藏的区别

转载请注明,原创地址:点击打开链接   http://blog.csdn.net/u010587274/article/details/38928561 个人微信公众号:tanzi_888 (...
  • u010587274
  • u010587274
  • 2014年08月29日 17:42
  • 1611

面向对象中的重载、覆盖和隐藏

1.重载是一个类内部实现相同机理的操作,但是操作的对象不同。主要体现在:  方法在同一个类中重载的方法名称相同参数不同(参数的类型不同,参数的个数不同)virtual关键字可有可无    ...
  • longshengguoji
  • longshengguoji
  • 2013年12月30日 23:27
  • 6761

java的覆盖和隐藏的区别

我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊...
  • xad707348125
  • xad707348125
  • 2014年03月17日 11:18
  • 1014

Java中的隐藏和覆盖

1、编译时类型和运行时类型   Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型 编译时类型:由声明该变量时使用的类型决定 运行时类型:由该变量指向的对象类型决定 如果编译时...
  • snow_7
  • snow_7
  • 2016年06月03日 15:28
  • 2929

C#和Java 方法重写和覆盖隐藏的区别

C#中方法有覆盖隐藏和override重写之分:        class BaseClass         {             public virtual void Method1...
  • TKWDmylove
  • TKWDmylove
  • 2016年01月05日 09:53
  • 858
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中类成员函数重载、覆盖和隐藏的区别
举报原因:
原因补充:

(最多只允许输入30个字)