Java与C#方法/函数的返回类型重写

本文关键字:返回类型 重写 函数 方法 Java | 更新日期: 2023-09-27 18:26:30

Java和C#评估方法/函数签名以执行重写的方式有区别吗?在Java中,子方法和父方法中的两个方法具有相同的名称和参数,但返回类型不同,这是一个错误,而在C#中,它编译得很好。

我认为C#认为这是重载,而Java尝试重写,但只允许重写相同的返回类型,这是对的吗?

Java与C#方法/函数的返回类型重写

您在Java中遇到了一个错误,因为返回类型应该与原始返回类型兼容。

返回类型不是签名的一部分。但是,当您重写一个方法时,您应该保持返回类型兼容,在Java 5之前,返回类型必须相同

但现在(Java5+)您可以返回原始类型的子类,称为协变返回类型。