软件开发

Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

题目

OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?

 

参考答案和解析

overload一般翻译为重载,表示多个函数共用同一个函数名,为了保证调用这些同名函数时能正确区分究竟应该调用的是其中的哪一个,重载的各个函数的参数表(不考虑形参名)必须彼此不同,通常简略地说成“不同参数表”。它对返回值的类型没有任何要求,所以你可以随意为每一个重载的函数设置返回类型,相同也行,不同也行。
override一般翻译为覆盖,表示子类对从父类继承来的虚函数重新定义,它要求参数表必须跟父类中被覆盖的那个函数的参数表完全相同,返回值类型原则上也要求相同,但如果返回类型是父类的指针或者父类的引用,覆盖时返回类型允许是子类的指针或者子类的引用。

如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面关于方法定义的描述中,正确的是()。

A、当方法没有返回值时,返回值类型可以不写

B、当方法没有返回值时,不能有return语句

C、方法是对功能代码块的封装

D、方法是不可以没有参数的


参考答案:C

第2题:

OVERRIDE与OVERLOAD的区别.


正确答案:
     

第3题:

Java中有关“重载”和“重写”的说法正确的是()

A.“重写”是父类与子类之间多态性的一种表现

B.“重载”是一个类中多态性的一种表现

C.“重载”的方法是可以改变返回值的类型

D.“重载”的方法不能改变返回值的类型


参考答案:A, B, C

第4题:

在一个被调用函数中,关于return语句使用描述,( )是正确的。

A.函数返回值的类型是在定义函数时确定,在函数调用时是可能改变的

B.函数返回值的类型就是返回值表达式的值

C.函数返回值的类型决定了返回值表达式的类型

D.函数返回值的类型可以与返回值表达式的类型不一致


正确答案:C
解析:函数返回值的类型决定了返回值表达式的类型。

第5题:

Overload 和Override 的区别。Overloaded 的方法是否

可以改变返回值的类型?


正确答案:

 

Overload 是重载的意思,Override 是覆盖的意思,也就是重写。

重载Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数

个数或类型不同)。

重写Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实

例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖

了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或

者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类

方法的访问权限只能比父类的更大,不能更小。

至于Overloaded 的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模

糊。如果几个Overloaded 的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想

问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Override。这

是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变

量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove 方法有返回值,但是

我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅

仅是返回类型不同,java 就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判

断。

第6题:

在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。

A.函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的

B.函数返回值的类型就是返回值表达式的类型

C.函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型

D.函数返回值的类型决定了返回值表达式的类型


正确答案:B

第7题:

Overload 和 override的区别,overload的方法是否可以改变返回值的类型。


正确答案:

 

 

第8题:

关于函数返回值类型和返回值表达式的类型的描述中,错误的是( )。

A.函数返回值类型决定了返回值表达式的类型

B.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变

C.函数返回值的类型就是返回值表达式的类型

D.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型


正确答案:C

第9题:

Overloaded的方法是否可以改变返回值的类型?


正确答案:
答:Overloaded的方法是可以改变返回值的类型。

第10题:

窗体的Show()方法和ShowDialog()方法都有返回值,这些返回值是DialogResult类型的枚举量。


正确答案:错误