【发布时间】:2010-06-15 16:27:02
【问题描述】:
public class Function
{
public static void main(String args[])
{
System.out.println(power(3,2));
System.out.println(power(3,2));
System.out.println(power(2));
}
public long power(int m)
{
return m*m;
}
public long power(int m,int n)
{
long product=1;
for(int i=1;i<=n;i++)
{
product=product*m;
}
return product;
}
}
编译器显示此错误:-
Function.java:5: 不能从静态上下文引用非静态方法 power(int,int)
[编辑]
对缩进的事情感到抱歉:/从现在开始我会记住这一点。
好的,我刚刚添加了 static 关键字,现在它工作正常。这个静态关键字有什么区别?我是 java 的初学者,还没有研究过 static 的作用。我肯定会在本书的其他章节中阅读它,但请有人告诉我它的作用。谢谢。
【问题讨论】:
-
这就是问题所在。没有适当的缩进!
-
另一点...这不是错误,但编码
String[] args比String args[]更容易接受(尽管它们实际上是相同的)... -
@froadie:你会接受
String... args吗?
标签: java non-static