小小菜鸟问题,大家帮忙

nedking 2003-09-15 05:27:20
我刚学java的,今天用书上的例程试试接口的用法,遇到问题请大家帮忙啊!
interface Callback
{
void callback(int param);
}

class client implements Callback
{
public void callback(int p)
{
System.out.println("本程序调用了"+p);
}
public static void main(String[] args)
{

callback(6);
}
}

我编译就报non-static method callback(int) cannot be referenced from a static context的错误,不知道为什么?我如果删掉main 前面的static编译是可以过了,但是又报Exception in thread "main" java.lang.NoSuchMethodError:main。难道main前面必须加static么?两个问题望赐教!
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fft123 2003-09-15
  • 打赏
  • 举报
回复
你在静态方法中调用了非静态方法
所以编译报错
可以用两种方法改:
第一,把非静态方法改成静态
第二,在静态方法中生成一个类的实例,用这个实例来调用非静态方法
zcjl 2003-09-15
  • 打赏
  • 举报
回复
你在static方法main中引用了一个非static方法callback
有两个办法可以解决:
1.把callback方法定义为static,即public static void callback(int p)

2.在main中以new client().callback(6)的方式引用
phoenix7789 2003-09-15
  • 打赏
  • 举报
回复
main前面必须加static!是的,主函数是一个静态方法,必须加static。
mq612 2003-09-15
  • 打赏
  • 举报
回复
没有实例化


interface Callback
{
void callback(int param);
}

class client implements Callback
{
public void callback(int p)
{
System.out.println("本程序调用了"+p);
}
public static void main(String[] args)
{
client c = new client();
c.callback(6);
}
}

建议最好看看JAVA代码编写的30条建议,类名、变量名等按照标准写。

62,614

社区成员

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

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