abstract class A{
public abstract void f(int x);
public abstract void g(int x,int y);
public abstract double h(double x);
}
class a extends A{
public void f(int x){
System.out.println("在a中,f()");
}
public void g(int x ,int y){
System.out.println("在a中,g()");
}
public double h(double x){
System.out.println("在a中,h()");
return 0;
}
}
public class f2{
public static void main(String args[]){
A p;
p=new a();
p.f(1);
p.g(1,1);
p.h(1);
}
}
可以编译,运行卜了.求解
------解决方案--------------------------------------------------------
你的a跟A可能会有点问题,把a改成别的字母吧
------解决方案--------------------------------------------------------
我还以为是java区分大小写是可以的,试了一下,还真不行
- Java code
abstract class A{ public abstract void f(int x); public abstract void g(int x,int y); public abstract double h(double x);}class B extends A{ public void f(int x){ System.out.println("在B中,f()"); } public void g(int x ,int y){ System.out.println("在B中,g()"); } public double h(double x){ System.out.println("在B中,h()"); return 0; }}class f2{ public static void main(String args[]){ A p; p=new B(); p.f(1); p.g(1,1); p.h(1); }}
------解决方案--------------------------------------------------------
Windows 文件系统的文件名不区分大小写,编译之后A跟a生成的.class文件只能剩一个,所以执行的时候报找不到class文件错误。