Java与C#方法/函数的返回类型重写
本文关键字:返回类型 重写 函数 方法 Java | 更新日期: 2023-09-27 18:26:30
Java和C#评估方法/函数签名以执行重写的方式有区别吗?在Java中,子方法和父方法中的两个方法具有相同的名称和参数,但返回类型不同,这是一个错误,而在C#中,它编译得很好。
我认为C#认为这是重载,而Java尝试重写,但只允许重写相同的返回类型,这是对的吗?
您在Java中遇到了一个错误,因为返回类型应该与原始返回类型兼容。
返回类型不是签名的一部分。但是,当您重写一个方法时,您应该保持返回类型兼容,在Java 5之前,返回类型必须相同。
但现在(Java5+)您可以返回原始类型的子类,称为协变返回类型。