编译错误显示为:无法从静态上下文中引用非静态变量k
代码如下:
// 2012/3/9 16:57:08
public class hitest {
int k = 99999;
public static void main(String args[]) {
System.out.println("Hellow Java");
int i = 3,j = 8;
byte b1 = 2;
double b2 = 3.8765;
double b3 = (b1+b2);
System.out.println("b3=" +b3);
System.out.println("i+j+k="+ (i+j+k)); //第三个“+”为连接字符
}
}
原因分析:
main函数为静态函数,此函数中不能引用非静态函数。以上代码k定义为非静态函数,所以出现不能引用的错误。把k定义为静态即可。
解决方案如下:
// 2012/3/9 16:57:08
public class hitest {
static int k = 99999; //定义k为静态函数
public static void main(String args[]) {
System.out.println("Hellow Java");
int i = 3,j = 8;
byte b1 = 2;
double b2 = 3.8765;
double b3 = (b1+b2);
System.out.println("b3="+b3);
System.out.println("i+j+k="+(i+j+k));
}
}
如此,即可编译成功,并成功运行。