java,方法名相同,参数列表相同,返回值不同,会出现什么状况?

这样会重写吗?
2025-01-05 06:18:32
推荐回答(5个)
回答1:

会报错,这不是重写,重写是在子类中方法名与父类相同,参数列表相同,返回值相同同

也不是重载,重载是方法名相同,参数列表不同,参数个数不同返回值相同(全满足或满足一个就可以,不管在有没有继承有一样的)

单单返回值不同无法判断是不是调用了不同的方法

还有一个要注意的是“java,方法名相同,参数列表相同,返回值不同”这句话也不是绝对的错误
看例子:
class Person {
public Person eat() {
return new Person
}
}
class Student {
public Student eat() {
/*在这里重载了父类的eat()方法但是返回类型却不一样,这叫协变函数*/
return new Student();
}
]

回答2:

继承关系才能重写的,一个类里应该是重载,应该是同样的方法名,返回值相同,不同的参数类型或者不同的参数数量等等 简答回答一下你的问题吧, 方法名相同,参数列表相同,返回值不同,不会出现任何情况,,

回答3:

会出错,这是同一个方法,只有方法签名不一样才在同一个类同时定义,方法签名包括方法名,方法参数等。

回答4:

这样会报错;必须清楚重载的定义:参数列表不同(必须不同)、返回值可相同也可以不相同。

回答5:

会出错,这中逻辑是不可能的