读书人

关于抽象类的有关问题

发布时间: 2012-05-01 12:48:58 作者: rapoo

关于抽象类的问题
abstract class Sudu_fl
{
private int zhuansu;

public Sudu_fl(){}
public abstract double getbanjing(double banjing);

public void setzhuansu(int zhuansu)
{
this.zhuansu=zhuansu;
}
public double sudu_car()
{
return java.lang.Math.PI*2* getbanjing() *zhuansu;
}
}
public class Sudu_zl extends Sudu_fl
{
public double getbanjing(double banjing)
{
return 0.28;
}
public static void main(String[]args){
Sudu_zl sz=new Sudu_zl();
sz.setzhuansu(15);
// sz.getbanjing(0.28);
sz.sudu_car();
System.out.println(sz.sudu_car());
}


}

[解决办法]
return java.lang.Math.PI*2* getbanjing() *zhuansu;

错误很明显吧,你定义的 getbanjing(double banjing) 是必须有1个参数的,结果你这里调用时没给任何参数,当然错误。
[解决办法]
修改的话,应该是:
public double getbanjing(double banjing) {
return this.banjing;
}

改为:
public double getbanjing(double banjing) {
return this.banjing = banjing;
}

但这样做从 语义上来说,不符合 get 的概念,另外你的命名也是乱来的,还是认真打好基础吧。

读书人网 >J2SE开发

热点推荐