java:这程序为什么6.7行是错的?麻烦解释清楚一点。

如题所述

第6行:错误原因:i是实例变量
第七行:m1()是事例方法
改为这样
static int i=5;
static int k=2;
public static void main(String[] args) {
int j=i;
m1();
}
public static void m1(){
i=i+k+m2(i,k);
}
public static int m2(int i,int j){
return (int)(Math.pow(i, j));
}追问

怎么看的他们是实例变量和实际方法?

追答

i是事例变量,k是类变量(也叫全局变量)
j是局部变量

简单的说;
在方法外,不带static的是实例变量
方法内定义的变量是局部变量
带static的方法是静态方法,main方法可以直接调用
不带的是实例方法,需要new(初始化),然后调用

追问

谢谢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-01
i和m2()都是对象的成员
main是静态方法,没有所属的对象...
所以要先实例化一个Foo对象才有f.i和f.m1();追问

要怎么看i和m1()是对象的成员?

追答

加了static就是静态的,没加的就是对象成员

相似回答