初学者求解答:错误:需要class,interface或enum

活宝libinbin 2017-08-06 10:45:41
我写的一段代码如下,想要测试调用“ int a=calcArea(7,12);” 是否合法,出现了如下错误,求大神们帮忙。

int calcArea(int height,int width){
return height*width;
}
public class CallTestDrive{
public static void main(String[] args){
int a=calcArea(7,12);
}
}

运行后显示如下错误:

...全文
598 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
窝 窝 2017-08-06
  • 打赏
  • 举报
回复
在静态方法中不能直接调用非静态方法。你在main方法里面调用calcArea方法需要先用一个对象。public class CallTestDrive{ public static void main(String[] args){ CallTestDrive c = new CallTestDrive(); int a=c.calcArea(7,12); }或者 将 calcArea定义为静态方法 。public static int calcArea(int height,int width){ return height*width; }
weixin_37990655 2017-08-06
  • 打赏
  • 举报
回复
你的方法写在类外面了. 你可以尝试这么写
public class CallTestDrive{
   public static void main(String[] args){
          int a=calcArea(7,12);
     }

    public static int calcArea(int height,int width){
         return height*width;
      }

}
weixin_37990655 2017-08-06
  • 打赏
  • 举报
回复
你的方法写在类外面了. 你可以尝试这么写 public class CallTestDrive{ public static void main(String[] args){ int a=calcArea(7,12); } public static int calcArea(int height,int width){ return height*width; } }
aptx1048576 2017-08-06
  • 打赏
  • 举报
回复
方法,参数这些东西的定义是不能脱离类存在的
活宝libinbin 2017-08-06
  • 打赏
  • 举报
回复
引用 3 楼 oh_six 的回复:
在静态方法中不能直接调用非静态方法。你在main方法里面调用calcArea方法需要先用一个对象。public class CallTestDrive{ public static void main(String[] args){ CallTestDrive c = new CallTestDrive(); int a=c.calcArea(7,12); }或者 将 calcArea定义为静态方法 。public static int calcArea(int height,int width){ return height*width; }
原来是这样,以前遇到过诸如“在静态方法中不能直接调用非静态方法”的问题,但一直不是很理解

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧