java 变量的作用域
来源:百度知道 编辑:UC知道 时间:2024/05/25 05:40:49
public class HW{
int j=234;
public static void main(String args[]){
int i=123;
System.out.println(i);
System.out.println(j);
}
}
能打印出j吗?
int j=234;
public static void main(String args[]){
int i=123;
System.out.println(i);
System.out.println(j);
}
}
能打印出j吗?
兄弟,好好看看java基础吧.
java中得main函数不管写在哪个类中,它都是独立得部分,不能因为它写在了一个类中,就可以像其它函数那样调用当前类的方法和字段.
静态字段和方法也不能不加类名来调用.
你得代码可以有n中改法,我写两种你看看.
第一种
public class HW{
int j=234;
public static void main(String args[]){
int i=123;
HW hw = new HW();
System.out.println(i);
System.out.println(hw.j);
}
}
第二种
public class HW{
public static int j=234;
public static void main(String args[]){
int i=123;
System.out.println(i);
System.out.println(HW.j);
}
}
这段代码 编译都不会通过吧
因为 你在声明 变量j 的时候前面不是用的 static
那么 你在static方法 例如 main方法里引用的话
你就要这样
HW h = new HW();
System.out.println(h.j);
一楼正解,静态方法里面引用的外部变量必须也是静态的
不行,int j这一句你要么放到int i这一句的下面,要么把int i声明成private static int j=234;否则会报非静态变量放到静态函数的错误
打不出啊,建议去看看thinking java