会报错,这不是重写,重写是在子类中方法名与父类相同,参数列表相同,返回值相同同
也不是重载,重载是方法名相同,参数列表不同,参数个数不同返回值相同(全满足或满足一个就可以,不管在有没有继承有一样的)
单单返回值不同无法判断是不是调用了不同的方法
还有一个要注意的是“java,方法名相同,参数列表相同,返回值不同”这句话也不是绝对的错误
看例子:
class Person {
public Person eat() {
return new Person
}
}
class Student {
public Student eat() {
/*在这里重载了父类的eat()方法但是返回类型却不一样,这叫协变函数*/
return new Student();
}
]
继承关系才能重写的,一个类里应该是重载,应该是同样的方法名,返回值相同,不同的参数类型或者不同的参数数量等等 简答回答一下你的问题吧, 方法名相同,参数列表相同,返回值不同,不会出现任何情况,,
会出错,这是同一个方法,只有方法签名不一样才在同一个类同时定义,方法签名包括方法名,方法参数等。
这样会报错;必须清楚重载的定义:参数列表不同(必须不同)、返回值可相同也可以不相同。
会出错,这中逻辑是不可能的