首页 > 试题广场 >

对于同一类中的两个方法 , 在判断它们是不是重载方法时 ,

[单选题]

对于同一类中的两个方法 , 在判断它们是不是重载方法时 , 肯定不考虑(

  • 参数个数
  • 参数类型
  • 返回值类型
  • 参数顺序
链接:https://www.nowcoder.com/questionTerminal/830d1dbe2d1a4481ae4f753d77d2e89a
来源:牛客网
方法的重载:
方法重载的定义:同一个类或与他的派生类中,方法名相同,而参数列表不同的方法。其中参数列表不同指的是参数的类型,数量,类型的顺序这三种至少有一种不同。
方法重载与下列无关:
与返回值类型无关;与访问修饰符无关
构造方法也可以重载

方法的重写:
方法的重写的定义:在继承关系的子类中,定义一个与父类相同的方法
判断是否重写的方式:在方法之前加上@ Overri de
方法重写的特点:
在继承关系的子类中重写父类的方法
重写的方法必须方法名相同,参数列表也相同
重写的方法的返回值类型应该与父类中被重写方法的返回值类型相同或是他的子类类型
重写的方法的访问权限应该与父类中被重写方法的访问权限相同或高于它的访问权限
重写的方法不能抛出比父类更加宽泛的异常
方法重写的注意事项:
构造方法不能被重写,不要问为什么?因为构造方法名必须和类名相同
private修饰的成员方法不能被重写
static修饰的方法不能被重写
final修饰的方法不能被重写
当子类重写了父类中的方法后,子类对象调用该方法时调用的是子类重写后的方法
编辑于 2017-10-01 02:01:30 回复(3)
重载:类中可以创建多个方法,它们具有相同的名字,但具 有不同的参数和不同的定义。调用方法时通过传递 给它们的不同参数个数和参数类型 给它们的不同参数个数和参数类型 给它们的不同参数个数和参数类型 来决定具体使用哪个方法 这就是多态性。
重写 Overriding 是父类与子类之间多态性的一种表现, 在子类中定义某方法与其父类有相同的名称和参数。
重载 Overloading 是一个类中多态性 的一种表现。
重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同 也可以不相同。 无法以 返回型别 作为重载函数的区分标准。而且编译的时候只有返回值不同,会报错。及使不报错,运行时无法区分调用哪个方法
发表于 2017-05-31 16:47:01 回复(2)
方法重写“ 两小两同一大 ”原则
方法名相同,参数类型相同 
子类返回类型小于等于父类方法返回类型, 
子类抛出异常小于等于父类方法抛出异常, 
子类访问权限大于等于父类方法访问权限。
发表于 2017-05-18 20:35:09 回复(3)
C是明显的错误,但D好像也不严谨吧。。。。
发表于 2017-09-20 11:16:09 回复(6)
选C

发表于 2018-07-16 21:30:45 回复(0)
重载时候返回值类型可以不同可以相同,参数顺序不同也要考虑是不是重载,比如f(String s1,int n)和f(int n,String s1)属于方法重载,但是f(int n1,int n2)和f(int n2,int n1)不属于方法重载
编辑于 2017-07-20 21:31:43 回复(0)
关于D的疑问:
1.参数类型不同时,顺序不同也是重载,例如:
public void first(int a,double b ){}
public void first(double b2,int a2){}

2.参数类型相同时,没有顺序之分,例如:
public void first(int a,int b ){}
public void first(int b2,int a2){}
因为数据类型相同,不能说明谁前谁后,这里a,b,a2,b2,仅仅是变量名称而已。

发表于 2018-05-19 15:12:19 回复(2)
跟返回值没有关系
发表于 2017-06-10 10:45:42 回复(0)
同名不同参,返回值无关。
发表于 2021-12-17 16:54:20 回复(0)
  • 重写子类对父类的允许访问的方法的实现过程进行重新编写, 返回值形参都不能改变。
  • 重载(overloading) 是在一个类里面方法名字相同,而参数不同。返回类型可以相同也可以不同。
发表于 2020-04-10 11:19:58 回复(0)
D选项如果是参数类型相同互换位子 public void test1(int i,int j){} public void test1(int j,int i){} 不会重载 如果参数类型不同互换位子 public void test1(double i,int j){} public void test1(int j,double i){} 会重载
发表于 2018-07-28 21:38:10 回复(0)
参数类型不同时,顺序不同也是重载。
参数类型相同时,没有顺序之分。

发表于 2022-09-28 10:00:21 回复(0)
方法重写原则:两同两小一大 1、方法名相同,参数类型和数量相同 2、子类的返回类型小于等于父类的返回类型 3、子类的异常抛出类型小于等于父类的异常抛出类型 4、子类的访问权限大于等于父类的访问权限 方法重载原则:两同一不同 同类中,方法名相同,方法参数列表不同(参数类型,参数个数,参数顺序).
发表于 2022-09-03 08:59:02 回复(0)
重载参数列表不同
发表于 2022-03-11 19:56:29 回复(0)

函数重载满足下面条件之一:

1. 参数类型发生改变

2. 参数个数发生改变

3. 不同类型参数顺序发生改变

与下列无关

1. 参数名字

2. 返回类型

3. 方法修饰符

编辑于 2024-04-22 21:15:54 回复(0)
重载:发生在同一个类中,方法名相同,参数列表不同(参数类型不同,参数个数不同,参数顺序不同),与返回值类型,访问修饰符都无关。
编辑于 2024-03-14 09:19:22 回复(0)
C


我们看返回值不同并不影响重载,而真正影响的是参数列表(参数类型,个数,顺序至少得有一个不同才可以。)
发表于 2024-02-14 20:23:53 回复(0)
重载:同名不同参
同名:相同方法名
不同参:不同参数类型、个数、顺序

编辑于 2023-07-02 23:50:12 回复(0)
啥题啊 真的**
编辑于 2023-03-07 16:29:01 回复(0)
发表于 2022-11-09 01:14:52 回复(0)