可运行的程序:
class F{
int fun(int i,int j){
return i+j;
}
}
class S extends F{
int fun(int i,int j){
return i*j;
}
double fun(double i,double j){
return i+j;
}
}
class A{
public static void main(String args[]){
F f=new F();
f.fun(2,5);
S s=new S();
s.fun(2,5);
s.fun(2.2,5); f=s;
f.fun(2,5);//f.fun(2.2,5);
}
}
将上面的
F f=new F();替换成 F f=new S();
则产生编译错误:
A.java:12:fun(int,int} in f cannot be applied to (double,int)
f=s; f,fun(2,5;f.fun(2.2,5);
1 error
class F{
int fun(int i,int j){
return i+j;
}
}
class S extends F{
int fun(int i,int j){
return i*j;
}
double fun(double i,double j){
return i+j;
}
}
class A{
public static void main(String args[]){
F f=new F();
f.fun(2,5);
S s=new S();
s.fun(2,5);
s.fun(2.2,5); f=s;
f.fun(2,5);//f.fun(2.2,5);
}
}
将上面的
F f=new F();替换成 F f=new S();
则产生编译错误:
A.java:12:fun(int,int} in f cannot be applied to (double,int)
f=s; f,fun(2,5;f.fun(2.2,5);
1 error
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货