首页 > 试题广场 >

A,B,C,D 中哪些是 setvar的重载

[不定项选择题]
A,B,C,D 中哪些是 setvar的重载?
public class methodover
{
    public void setVar(int a, int b, float c) {}
}

  • private void setVar(int a, float c, int b){}
  • protected void setVar(int a, int b, float c){}
  • public int setVar(int a, float c, int b){return a;}
  • public int setVar(int a, float c){return a;}
推荐
ACD
重载是在同一个类中,有多个方法名相同,参数列表不同(参数个数不同,参数类型不同),与方法的返回值无关,与权限修饰符无关,B中的参数列表和题目的方法完全一样了。
编辑于 2015-12-28 11:19:33 回复(16)
方法的重载是指:
1、在同一个类中
2、方法名相同
3、方法的形参列表不同
    具体的不同表现为:
        类型、个数、顺序的不同才可以构成重载
4、#比较容易忽略的一点#
        与方法的返回值类型与访问权限无关
发表于 2016-06-20 14:05:27 回复(8)
重写:
两同,两小,一大
两同:方法名,方法参数列表相同。
两小:抛出的异常类型要小于等于父类,返回值类型要小于等于父类
一大:访问权限大于等于父类。
重载:
在同一个类中,方法名和方法参数列表不同,其他的(访问权限、返回值)随意。
编辑于 2015-10-29 15:05:40 回复(10)
参数类型不同构成重载;
返回相同,参数类型相同,参数顺序不同,例如:
int fun( int x, int y )
int fun( int y, int x )
这样不是重载,因为编译器无法区别它们,从而报错。

int fun( int x, char y )
int fun( char y, int x )
是重载的
发表于 2016-06-11 17:36:46 回复(0)
静态的多态: 即为重载 ;方法名相同,参数个数或类型不相同。(overloading)
动态的多态: 即为重写;子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法 实现接口的实例传与接口的引用调用的实现类的方法。
发表于 2014-11-21 22:37:21 回复(0)
重载主要看的是参数列表不同,即1.参数的个数 2.参数的类型,方法名要相同,与返回值和权限修饰符无关,所以本题答案ACD
发表于 2022-03-29 19:09:42 回复(0)
解题要点:
1、重载:
(1)作用范围:同一个类的内部;
(2)定义:方法名相同,但是参数不同(参数的个数不同,参数的类型不同),参数的变量名不同没有影响;
(3)特别注意:重载的方法返回类型以及访问权限以及抛出的异常类型可以相同也可以不同,方法的重载和这些没有关系。
2、重写:
(1)作用范围:继承关系(子类重写父类方法);实现关系(类重写接口定义的方法);
(2)定义:方法名和参数、返回类型必须相同,方法的实现不同;被重写的方法是非private类型的;
(3)特别注意:重写的方法访问权限必须大于或等于被重写的方法的访问权限,如果被重写的方法的访问权限为protected,则重写方法的访问权限可以为protected或者public;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常,可以抛出非检查异常,如果被重写的方法抛出IOException,则重写方法可以抛出RuntimeException或者IOException的子类,不能抛出其他检查异常,如SQLException.

重载和重写的区别:
(1)作用范围不同
重载发生在同一个类内部,重写发生在不同类之间或者类与接口之间;
(2)目的不同
重载的目的是定义不同的方法,重写的目的是对同一个方法有不同的实现;
(3)判别标准不同
方法名相同参数不同的为重载;
方法名相同参数相同返回类型相同的为重写;
(4)注意点不同
重载不许关心返回类型、抛出的异常;
重写需要注意返回类型、抛出的异常;
发表于 2016-10-24 13:58:09 回复(0)
重载:是指参数列表不同(参数的类型,参数的前后顺序,参数的个数),与修饰符,返回值等无关
发表于 2021-11-07 20:59:50 回复(0)

重载和重写对比如下:

不同点 重载 重写
参数列表 必须不同 必须相同
返回类型 可不同 必须相同
访问修饰符 可不同 不能比父类更严格
发生范围 同一类中 子类
异常范围 可修改 可以减少或删除,不能抛新异常或范围更广的异常
发生阶段 编译期 运行期
发表于 2020-08-10 11:21:29 回复(0)
我上个月取面试  面试官问我什么是重载
我说,一般发生在同一个类中,多个方法方法名相同而参数列表不同称之为重载
面试官又问 参数列表怎么不同?
我说,由参数个数,类型与顺序不同
面试官:顺序不同也叫重载?那你看
public void Find(int a,String b);
public void Find(String a,int b);
这叫重载么?
我说:是的,因为类型顺序不同,这是重载?
面试官说:这也是重载?你java是怎么学的,告诉你,这不是重载

迷茫~~~~我现在就想确定的知道  这个A,C到底是不是重载  有好心的大神解答一下么.
发表于 2018-11-09 17:13:12 回复(11)
A,C,D。访问权限不影响重载。
发表于 2015-07-28 09:58:28 回复(0)
重载:同名不同参,返回值无关。 覆盖/重写:同名同参
发表于 2021-05-18 11:11:31 回复(0)
重载只与参数的类型和个数有关,与其他无关,本题的a、b、c只是形参,不代表参数本身,abc调换位置不代表参数本身换位置,所以一二三号位置的参数类型不同,属于重载!
发表于 2017-08-13 15:52:47 回复(1)
A C D
重写方法的名称和参数(类型、个数与顺序)全部相同。一般是指父类和子类之间,子类重写了父类的一个方法,当然方法名是一样的,而且不能改变父类方法的返回值,比如说父类是返回String,子类重写了这个方法,想返回一个int,那是不行的,也得返回String。

重载是一个类里面,写了多了同名的方法,各个方法的返回值类型可以不一样。要注意区分重载方法可以通过参数列表的个数,类型和顺序。

发表于 2015-03-03 11:43:02 回复(2)
https://blog.csdn.net/m0_57487901/article/details/121777474做错的同学推荐看看这篇文章,一次搞懂
发表于 2021-12-09 11:11:17 回复(0)
在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载
发表于 2021-11-30 20:05:08 回复(0)
重载是在同一个类中,有多个方法名相同,参数列表不同(参数个数不同,参数类型不同),与方法的返回值无关,与权限修饰符无关,B中的参数列表和题目的方法完全一样了。
发表于 2021-11-03 22:44:14 回复(0)

方法重载(overload):

1、作用域必须相同

2、方法名(也可以叫函数)一样

3、参数类型不一样或参数数量不一样

发表于 2021-10-24 14:53:48 回复(0)
草 选了B
发表于 2021-09-15 10:48:51 回复(0)
重载就只看参数不同就可以了
发表于 2021-08-08 11:40:08 回复(0)
重载是在同一个类中,有多个方法名相同,参数列表不同(参数个数不同,参数类型不同),与方法的返回值无关,与权限修饰符无关,B中的参数列表和题目的方法完全一样了。
发表于 2021-04-19 10:51:07 回复(0)