class One{
public One foo(){
return this;
}
}
class Two extends One{
public One foo(){
return this;
}
}
class Three extends Two{
//代码段1
/*public One foo(){
return this;
}*/
//代码段2
/*public Two foo(){
return this;
}*/
//代码段3
/*public Three foo(){
return this;
}*/
//代码段4
/*public Object foo(){
return this;
}*/
}
每次只插入注释的一段代码,你们懂的!!
代码段1,2,3单独的插入没有任何问题
我就是很弄不明白为什么代码段4插入就出现编译错误了啊???
每次只插入注释的一段代码,你们懂的!!!
public One foo(){
return this;
}
}
class Two extends One{
public One foo(){
return this;
}
}
class Three extends Two{
//代码段1
/*public One foo(){
return this;
}*/
//代码段2
/*public Two foo(){
return this;
}*/
//代码段3
/*public Three foo(){
return this;
}*/
//代码段4
/*public Object foo(){
return this;
}*/
}
每次只插入注释的一段代码,你们懂的!!
代码段1,2,3单独的插入没有任何问题
我就是很弄不明白为什么代码段4插入就出现编译错误了啊???
每次只插入注释的一段代码,你们懂的!!!
Override 和Overload的规则 详情参见 JSL 8.4.8 和 8.4.9 两节内容。
附上下载地址
再附上在线阅读地址
而在Three中复写Two中的foo方法的返回类型是object类型 与父类中的返回类型不符
由于Two中包含One,Three中也包含One 但是Object中不包含One所以前三个可以编译成功 第四个代码段就不行了