黑马程序员技术交流社区

标题: 测试接口-为何27个错误--求教 [打印本页]

作者: 饶正林    时间: 2013-1-10 13:48
标题: 测试接口-为何27个错误--求教
本帖最后由 张向辉 于 2013-1-16 12:21 编辑

/*定义借口1*/
interface superinterface1
{
        static final double PI=3.14;
        public double Area();
}
/*定义借口2*/
interface superinterface2
{
        double bulk();
}
/*定义一个主程序类实现接口*/
public class interfacetest implements superinterface1,superinterface2
{
        double r;
        double l;
  public interfacetest()
  {
        this.r=0.0;
        this.l=0.0;
  }
  public interfacetest(double r,double l)
  {
        this.r=r;
        this.l=l;
  }
  public double Area()
  {
        return 2*PI*(r+1);
  }
  public double bulk()
  {
        return PI*r*r*l;
  }
  public static void main(String[] args)
  {
        interface cl=new interface(10.0,6.0);
        double arearesult;
        arearesult=cl.area();
        double bulkresult;
        bulkresult=cl.bulk();
        System.out.println("面积为"+arearesult);
        System.out.println("体积为"+bulkresult);
  }
}
作者: 肖亚光    时间: 2013-1-10 13:54
本帖最后由 可乐咖啡厅 于 2013-1-10 13:56 编辑

试问 你构造方法名字写对了么  方法名字写对了么

  interface cl=new interface(10.0,6.0); 这是什么?? 不是interfacetest么
还有类的名字应该大写 而且方法名字开头字母应该小写
或者至少应该一致
arearesult=cl.area(); 有这个方法? 你写的是Area()......

作者: 饶正林    时间: 2013-1-10 13:57
可乐咖啡厅 发表于 2013-1-10 13:54
试问 你构造方法名字写对了么  方法名字写对了么

  interface cl=new interface(10.0,6.0); 这是什么??  ...

嗯,写对了!
作者: 饶正林    时间: 2013-1-10 14:00
星月之梦 发表于 2013-1-10 13:57
嗯,写对了!

:#我错了,thank you !
作者: 饶正林    时间: 2013-1-10 14:01
可乐咖啡厅 发表于 2013-1-10 13:54
试问 你构造方法名字写对了么  方法名字写对了么

  interface cl=new interface(10.0,6.0); 这是什么??  ...

。。。。。。嗯!
作者: 黑马王振宇    时间: 2013-1-10 14:01
本帖最后由 黑马王振宇 于 2013-1-10 14:05 编辑

我来回答一下:
  1. interface superinterface1
  2. {
  3.         static final double PI=3.14;
  4.         public double Area();
  5. }
  6. /*定义借口2*/
  7. interface superinterface2
  8. {
  9.         double bulk();
  10. }
  11. /*定义一个主程序类实现接口*/
  12. class interfacetest implements superinterface1,superinterface2
  13. {
  14.         double r;
  15.         double l;
  16.   public interfacetest()
  17.   {
  18.         this.r=0.0;
  19.         this.l=0.0;
  20.   }
  21.   public interfacetest(double r,double l)
  22.   {
  23.         this.r=r;
  24.         this.l=l;
  25.   }
  26.   public double Area()
  27.   {
  28.         return 2*PI*(r+1);
  29.   }
  30.   public double bulk()
  31.   {
  32.         return PI*r*r*l;
  33.   }
  34.   public static void main(String[] args)
  35.   {
  36.           interfacetest cl=new interfacetest(10.0,6.0);      double arearesult;      //这里定义不能用interface,得用实现接口的类的名字定义对象。
  37.         arearesult=cl.Area();                                                 //这里的方法Area得大写,你上边定义的是大写的,这里不大写找不到方法
  38.         double bulkresult;
  39.         bulkresult=cl.bulk();
  40.         System.out.println("面积为"+arearesult);
  41.         System.out.println("体积为"+bulkresult);
  42.   }
  43. }
复制代码
第一个,你定义对象的时候不能用interface定义啊,得用实现接口的类名定义啊,

第二点就是你的方法得大写啊~

小错误自己细心些~~
作者: 饶正林    时间: 2013-1-10 14:30
黑马王振宇 发表于 2013-1-10 14:01
我来回答一下:第一个,你定义对象的时候不能用interface定义啊,得用实现接口的类名定义啊,

第二点就是 ...

谢谢!~~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2