很多初学者都认为javase方法重写子类方法返回值类型应和父类方法返回值应
该相等,其实不然。
子类重写方法的返回值必须比父类方法的返回值小或相等的意思是说
子类重写方法的返回值类型应为父类方法返回值类型的子类 或和父类方法
返回值类型相等
看下面代码
class coding
{
public Object info()
{
return 2;
}
}
public class coding212 extends coding
{
public String info()
{
return "experiment";
}
public static void main(String[] args)
{
coding212 in=new coding212();
System.out.println(in.info());
}
}
上述代码输出experiment
由此可知类重写方法的返回值类型可以为父类方法返回值类型的子类
当然也可和父类方法返回值类型相等