A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 饶正林 中级黑马   /  2013-1-10 13:48  /  1659 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 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);
  }
}

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
本帖最后由 可乐咖啡厅 于 2013-1-10 13:56 编辑

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

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

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
可乐咖啡厅 发表于 2013-1-10 13:54
试问 你构造方法名字写对了么  方法名字写对了么

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

嗯,写对了!
回复 使用道具 举报
星月之梦 发表于 2013-1-10 13:57
嗯,写对了!

:#我错了,thank you !
回复 使用道具 举报
可乐咖啡厅 发表于 2013-1-10 13:54
试问 你构造方法名字写对了么  方法名字写对了么

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

。。。。。。嗯!
回复 使用道具 举报
本帖最后由 黑马王振宇 于 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:01
我来回答一下:第一个,你定义对象的时候不能用interface定义啊,得用实现接口的类名定义啊,

第二点就是 ...

谢谢!~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马